Low cost high precision gnss systems and methods

ABSTRACT

Techniques are disclosed for systems and methods to provide relatively accurate position data from a plurality of separate position sensors. A system includes a logic device configured to first and second position sensors each coupled to a mobile structure at respective first and second locations. The logic device is configured to receive position data corresponding to a position of the mobile structure from the position sensors, determine weighting factors corresponding to the received position data, and determine a measured position for the mobile structure based, at least in part, on the received position data and the determined weighting factors.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to and the benefit of U.S. ProvisionalPatent Application No. 62/582,810 filed Nov. 7, 2017 and entitled “LOWCOST HIGH PRECISION GNSS SYSTEMS AND METHODS,” which is incorporatedherein by reference in its entirety.

This application is also related to U.S. patent application Ser. No.15/445,717 filed Feb. 28, 2017 and entitled “ROTATING ATTITUDE HEADINGREFERENCE SYSTEMS AND METHODS,” which is a continuation of InternationalPatent Application No. PCT/US2015/047991 filed Sep. 1, 2015 and entitled“ROTATING ATTITUDE HEADING REFERENCE SYSTEMS AND METHODS,” which areincorporated herein by reference in their entirety.

International Patent Application No. PCT/US2015/047991 claims priorityto and the benefit of U.S. Provisional Patent Application No. 62/212,955filed Sep. 1, 2015 and entitled “ROTATING ATTITUDE HEADING REFERENCESYSTEMS AND METHODS,” U.S. Provisional Patent Application No. 62/099,090filed Dec. 31, 2014 and entitled “ROTATING ATTITUDE HEADING REFERENCESYSTEMS AND METHODS,” and U.S. Provisional Patent Application No.62/044,911 filed Sep. 2, 2014 and entitled “REMOTE SENSING WITHINTEGRATED ORIENTATION AND POSITION SENSORS SYSTEMS AND METHODS,” whichare hereby incorporated by reference in their entirety.

U.S. patent application Ser. No. 15/445,717 is also acontinuation-in-part of U.S. patent application Ser. No. 14/941,497filed Nov. 13, 2015 and entitled “AUTOMATIC COMPASS CALIBRATION SYSTEMSAND METHODS,” which is a continuation of International PatentApplication No. PCT/US2014/038286 filed May 15, 2014 and entitled“AUTOMATIC COMPASS CALIBRATION SYSTEMS AND METHODS,” which are herebyincorporated by reference in their entirety.

International Patent Application No. PCT/US2014/038286 claims priorityto and the benefit of U.S. Provisional Patent Application No. 61/823,903filed May 15, 2013 and entitled “AUTOMATIC COMPASS CALIBRATION SYSTEMSAND METHODS” and U.S. Provisional Patent Application No. 61/823,906filed May 15, 2013 and entitled “AUTOMATIC COMPASS CALIBRATION SYSTEMSAND METHODS,” which are all incorporated herein by reference in theirentirety.

TECHNICAL FIELD

One or more embodiments of the invention relate generally to positionsensing systems and more particularly, for example, to systems andmethods for providing absolute positions using multiple globalnavigation satellite systems.

BACKGROUND

Remote sensing systems, such as radar, sonar, lidar, and/or otherranging sensory systems, are often used to assist in navigation byproducing data and/or imagery of the environment surrounding a mobilestructure, such as imagery representing above-surface and/or subsurfacefeatures critical to navigation of a watercraft over a body of water.Conventional remote sensing systems often include a display configuredto provide traditionally recognizable remote sensing imagery to a user.

Remote sensing imagery, and particularly imagery comprising aggregationsof remote sensor returns received over time, is typically subject to avariety of measurement errors that reduce the reliability of theimagery. In particular, noise and/or inaccuracies in the measurement ofthe position of the mobile structure to which the remote sensing systemsare coupled can increase the risk of a user misinterpreting the imagery(e.g., relative ranges, depths, sizes, and other critical distancesreflected in the imagery). At the same time, consumer market pressuresand convenience dictate easier to use systems that are inexpensive andthat produce high quality resulting imagery and/or reliable autopilotednavigation of the mobile structure. Thus, there is a need for animproved methodology to provide highly accurate and reliable positionmeasurements of the position of a mobile structure using relativelyinexpensive position sensors, particularly in the context of using suchmeasured positions to navigate or autopilot the mobile structure.

SUMMARY

Techniques are disclosed for systems and methods to provide relativelyaccurate position data from a plurality of separate position sensorslocated about a mobile structure. A system includes a logic deviceconfigured to communicate with position sensors coupled to the mobilestructure at different locations. The logic device is configured toreceive position data from the position sensors corresponding to aposition of the mobile structure from the position sensors, determineweighting factors corresponding to the received position data, anddetermine a measured position for the mobile structure based, at leastin part, on the received position data and the determined weightingfactors. A position measurement system may include radar sensorassemblies, sonar sensor assemblies, other remote sensing assemblies,and logic devices in communication with the various assemblies. Eachremote sensing assembly may be adapted to be mounted to a mobilestructure and/or placed in a body of water, and each remote sensingimagery system may include a separate position sensor. The logic devicesmay be configured to receive sensor data and generate imagery based onthe sensor data. Subsequent user input and/or the sensor data may beused to adjust a steering actuator, a propulsion system thrust, and/orother operational systems of the mobile structure.

In various embodiments, a position measurement system may include one ormore orientation sensors, position sensors, gyroscopes, accelerometers,and/or additional sensors, actuators, controllers, user interfaces,mapping systems, and/or other modules mounted to or in proximity to avehicle. Each component of the system may be implemented with a logicdevice adapted to form one or more wired and/or wireless communicationlinks for transmitting and/or receiving sensor signals, control signals,or other signals and/or data between the various components.

In one embodiment, a system may include a logic device configured tocommunicate with first and second position sensors each coupled to amobile structure at respective first and second locations. The logicdevice may be configured to receive first and second position datacorresponding to a position of the mobile structure from the respectivefirst and second position sensors, determine first and second weightingfactors corresponding respectively to the received first and secondposition data, and determine a measured position for the mobilestructure based, at least in part, on the received first and secondposition data and the determined first and second weighting factors.

In another embodiment, a method may include receiving first and secondposition data corresponding to a position of a mobile structure fromrespective first and second position sensors each coupled to the mobilestructure at respective first and second locations, determining firstand second weighting factors corresponding respectively to the receivedfirst and second position data, and determining a measured position forthe mobile structure based, at least in part, on the received first andsecond position data and the determined first and second weightingfactors.

In a further embodiment, a method may include negotiating first andsecond target measurement phases for respective first and secondposition sensors each coupled to a mobile structure at respective firstand second locations, where the first and second target measurementphases are different from each other, receiving first and second streamsof position data from the respective first and second position sensorsand measured according to the negotiated respective first and secondtarget measurement phases, and determining a series of updated measuredpositions for the mobile structure based, at least in part, on thereceived first and second streams of position data, where an update ratecorresponding to the series of updated measured positions is greaterthan a maximum measurement rate corresponding to the first or secondposition sensor.

The scope of the invention is defined by the claims, which areincorporated into this section by reference. A more completeunderstanding of embodiments of the invention will be afforded to thoseskilled in the art, as well as a realization of additional advantagesthereof, by a consideration of the following detailed description of oneor more embodiments. Reference will be made to the appended sheets ofdrawings that will first be described briefly.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates a block diagram of a position measurement system inaccordance with an embodiment of the disclosure.

FIG. 1B illustrates a diagram of a position measurement system inaccordance with an embodiment of the disclosure.

FIG. 2 illustrates a diagram of a remote sensing system including aposition sensor in accordance with an embodiment of the disclosure.

FIG. 3 illustrates a diagram of a remote sensing system including aposition sensor in accordance with an embodiment of the disclosure.

FIG. 4 illustrates a graph of time series of position data fromindividual position sensors and a corresponding time series of measuredpositions derived from the position data by a position measurementsystem in accordance with an embodiment of the disclosure.

FIG. 5 illustrates a flow diagram of various operations to operate aposition measurement system in accordance with an embodiment of thedisclosure.

FIG. 6 illustrates a flow diagram of various operations to operate aposition measurement system in accordance with an embodiment of thedisclosure.

FIG. 7 illustrates a flow diagram of various operations to determinerelative positions of position sensors in a network of positions sensorscoupled to a mobile platform in accordance with an embodiment of thedisclosure.

Embodiments of the invention and their advantages are best understood byreferring to the detailed description that follows. It should beappreciated that like reference numerals are used to identify likeelements illustrated in one or more of the figures.

DETAILED DESCRIPTION

In accordance with various embodiments of the present disclosure, ameasured position of a mobile structure may be provided by a positionmeasurement system including a plurality of position sensors distributedacross the mobile structure. Each position sensor may provide separateposition data that may be combined to generate a relatively reliable andaccurate measured position of the mobile structure. Such system may alsoinclude one or more remote sensing assemblies, orientation sensors,gyroscopes, accelerometers, additional position sensors, and/or speedsensors providing measurements of an orientation, a position, anacceleration, and/or a speed of the remote sensing assemblies and/or acoupled mobile structure. For example, the various sensors may bemounted to or within the mobile structure (e.g., a watercraft, aircraft,motor vehicle, and/or other mobile structure), or may be integrated withthe remote sensing assemblies, as described herein. Embodiments of thepresent disclosure produce measured positions of a coupled mobilestructure that can be used to generate remote sensing imagery that isless prone to noise jitter and drift and is thereby more reliable andeasier to interpret by consumers than conventional systems and/ormethods. Such measured positions and remote sensor data may also becombined to provide reliable navigation or autopiloting for the mobilestructure, as described herein.

Generally available position sensors (e.g., GPS, GLONASS, Galileo,COMPASS, IRNSS, and/or other global navigation satellite system (GNSS)receivers) often suffer from noise and error, which manifests itself asan inaccurate position measurement or series of position measurements.Conventional systems are available that include a relatively largenumber of GNSS antennae (rather than full receivers), but suchsingle-receiver systems are relatively large, complex, and expensive. Bycontrast, embodiments of the present disclosure employ a network ofinexpensive and typically compact GNSS receivers and combines theirindividual position data outputs to reduce such noise and errorsignificantly. For example, in some embodiments, a position measurementsystem according to the present disclosure may be configured to combinethe position data outputs of multiple position sensors/GNSS receiversaccording to weighting factors derived from “fix metadata” provided byeach position sensor, where more reliable position sensors, asdetermined by the fix metadata, are “trusted” more than less reliableposition sensors. In related embodiments, various extrinsic positiondata reliability metrics (e.g., derived from a time series of positiondata provided by the position sensors, and/or from other sensor data)and may be used to determine and/or refine such weighting factors.

Embodiments of the present disclosure employ standalone positionsensors/GNSS receivers (and not simply additional separate antennae) inorder to ease implementation, increase scalability, and decrease cost(e.g., embodiments can be implemented using relatively inexpensive “offthe shelf” hardware, which can more easily be integrated with othersystems of the mobile structure, as described herein). In someembodiments, a such network of position sensors can be configured toprovide position measurements at a higher output rate than anyindividual position sensor is capable of, thereby providing more rapidand precise position updates for time sensitive applications, such ashigh-speed marine navigation.

In various embodiments, the output from multiple position sensors/GNSSreceivers can be combined using a weighted average, where the weight isa function of corresponding fix metadata such as positiondilution-of-precision, time dilution-of-precision, standard deviation,and/or other fix metadata provided by the individual position sensors,in order to “trust” more reliable GNSS receivers (e.g., as indicated bythe fix metadata). For example, a mobile structure with one standaloneGNSS and two multi-function displays/user interfaces with built-inposition sensors/GNSS receivers will have three separate sources ofposition data on a shared network (e.g., a CAN bus). A logic device maybe configured to receive position data, including corresponding fixmetadata, from all three position sensors, and to determine a measuredposition of the mobile structure by combining the positions provided byeach position sensor according to weighting factors implemented asfunctions of the fix metadata, as described above. The logic device maybe configured to use this improved measured position to drive anautopilot, plot a position on a chart, align a radar overlay, or for anyother use of GNSS positioning with greater accuracy.

Shown below is a simplified worked example of determining weightingfactors from fix metadata and determining a corresponding measuredposition. While the pseudocode is presented as processing measurementsin units of meters, similar processing could be performed onmeasurements and fix metadata provided according to latitude, longitude,and altitude, and/or other absolute and/or relative position measurementunits, as described herein. One embodiment of example pseudocode withexample data is as follows:

% Input data for three GNSS receivers [r1 r2 r3]

GPSX=[1 1.4 1.1]; GPSY=[2 2 2.5]; GPSZ=[−1 0 0.5];

% Fix metadata for three GNSS receivers [r1 r2 r3]HDOP=[0.5 3 2.5]; % Horizontal dilution of precisionVDOP=[6.4 2 5]; % Vertical dilution of precisionMeasured position=sum(position* normalized weighting factor)

GPSOut(1)=sum(GPSX.*HDOP)/sum(HDOP);GPSOut(2)=sum(GPSY.*VDOP)/sum(VDOP);GPSOut(3)=sum(GPSZ.*HDOP)/sum(HDOP);

% Calculated measured position

Output: GPSOut=1.2417 2.1866 0.1250

As described and shown herein, GPSOut (e.g. the measured position of themobile structure) is statistically more likely to be the actual positionthan any position reported by any individual position sensor in theposition measurement system.

Noise and errors in the measurements of position sensors/GNSS receiversis not always Gaussian; often such data includes a discrete event wherea position sensor will provide very inaccurate but persistent positiondata, referred to herein as a position data excursion event, which canlast for many seconds or minutes of position data in a time series ofposition data. Embodiments of the present disclosure may be configuredto detect such position data excursion events by, for example, comparingthe weighted outputs of each position sensor/GNSS receiver to eachother, thereby allowing such erroneous position data to be identifiedand excluded from the position measurement determination in order toprovide an accurate measurement position until the event has passed.

In additional embodiments, a position measurement system according tothe present disclosure may be configured to synthesize a time series ofmeasured positions at a higher update rate than any one of theconstituent standalone position sensors/GNSS receivers. For example, theinternal measurement clocks of the individual position sensors may beset so as to be out of phase, such that their individual measurementscan be made at different times. Given the opportunity to modify thetarget measurement phase of each position sensor, a phase-shift of eachposition sensor's clock could be auto-negotiated to stagger positionsensor measurements in order to create a more continuous stream of data.

Including orientation and/or position sensors (OPSs) within a remotesensing assembly reduces or eliminates timing errors due tonon-synchronicity of the data from the sensing element and data sentfrom an external sensor over a network. The reduced error allows ahelmsman to rely on distances and relative bearings to a coastline orstructure on a seafloor or fish in the water, for example, and theincreased accuracy facilitates a number of operational modes, such asclosing or avoiding a target, overlaying remote imagery on a chart,tracking other vessels, relating targets to automatic identificationsystem (AIS) information, and/or other operational modes. In addition,an embedded OPS can be implemented at reduced cost as the various typesof orientation and position sensors constituting the OPS can share powersupplies, processing devices, interfaces, and the enclosure/housing ofthe associated remote sensing system. Installing separate and externalorientation/position sensors/housings requires separate cables andadditional installation time.

In some embodiments, a position measurement system according to thepresent disclosure may include a remote sensing system with an OPSconfigured to provide orientation data and position data. In suchembodiments, the remote sensing imagery system may be configured todetermine the track, course over ground (COG), and/or speed over ground(SOG) of the remote sensing system and/or the coupled mobile structurefrom the position data provided by the OPS. Corresponding headings(e.g., referenced to True North, for example) may be determined from thetrack, COG, and/or SOG, and the effects of wind and tide can beestimated and displayed or removed from the heading. Set (e.g., due totide) and leeway (e.g., due to wind) errors may not need to becompensated for because the data provided by the OPS can be referencedto an absolute coordinate frame.

FIG. 1A illustrates a block diagram of position measurement system 100in accordance with an embodiment of the disclosure. In variousembodiments, system 100 may be adapted to measure an orientation, aposition, an acceleration, and/or a speed of sonar system 110, radarsystem 160, user interface 120, and/or mobile structure 101 using any ofthe various sensors of orientation and/or position sensor (OPS) 190and/or mobile structure 101. System 100 may then use these measurementsto generate accurate image data from sonar data provided by sonar system110 and/or radar data provided by radar system 160 according to adesired operation of system 100 and/or mobile structure 101. In someembodiments, system 100 may display resulting imagery to a user throughuser interface 120, and/or use the sonar data, radar data, orientationand/or sensor data, and/or imagery to control operation of mobilestructure 101, such as controlling steering actuator 150 and/orpropulsion system 170 to steer mobile structure 101 according to adesired heading, such as heading angle 107, for example.

In the embodiment shown in FIG. 1A, system 100 may be implemented toprovide orientation and/or position data for a particular type of mobilestructure 101, such as a drone, a watercraft, an aircraft, a robot, avehicle, and/or other types of mobile structures, including any platformdesigned to move through or under the water, through the air, and/or ona terrestrial surface. In one embodiment, system 100 may include one ormore of a sonar system 110, a radar system 160, a user interface 120, acontroller 130, an OPS 190 (e.g., including an orientation sensor 140, agyroscope/accelerometer 144, and/or a global navigation satellite system(GNSS) 146), a speed sensor 142, a steering sensor/actuator 150, apropulsion system 170, and one or more other sensors and/or actuators,such as other modules 180. In some embodiments, one or more of theelements of system 100 may be implemented in a combined housing orstructure that can be coupled to mobile structure 101 and/or held orcarried by a user of mobile structure 101.

Directions 102, 103, and 104 describe one possible coordinate frame ofmobile structure 101 (e.g., for headings or orientations measured byorientation sensor 140 and/or angular velocities and accelerationsmeasured by gyroscope 144 and accelerometer 145). As shown in FIG. 1A,direction 102 illustrates a direction that may be substantially parallelto and/or aligned with a longitudinal axis of mobile structure 101,direction 103 illustrates a direction that may be substantially parallelto and/or aligned with a lateral axis of mobile structure 101, anddirection 104 illustrates a direction that may be substantially parallelto and/or aligned with a vertical axis of mobile structure 101, asdescribed herein. For example, a roll component of motion of mobilestructure 101 may correspond to rotations around direction 102, a pitchcomponent may correspond to rotations around direction 103, and a yawcomponent may correspond to rotations around direction 104.

Heading angle 107 may correspond to the angle between a projection of areference direction 106 (e.g., the local component of the Earth'smagnetic field) onto a horizontal plane (e.g., referenced to agravitationally defined “down” vector local to mobile structure 101) anda projection of direction 102 onto the same horizontal plane. In someembodiments, the projection of reference direction 106 onto a horizontalplane (e.g., referenced to a gravitationally defined “down” vector) maybe referred to as Magnetic North. In various embodiments, MagneticNorth, True North, a “down” vector, and/or various other directions,positions, and/or fixed or relative reference frames may define anabsolute coordinate frame, for example, where directional measurementsreferenced to an absolute coordinate frame may be referred to asabsolute directional measurements (e.g., an “absolute” orientation).

In some embodiments, directional measurements may initially bereferenced to a coordinate frame of a particular sensor (e.g., a sonartransducer assembly or other module of sonar system 110, OPS 190,orientation sensor 140, and/or user interface 120, for example) and betransformed (e.g., using parameters for one or more coordinate frametransformations) to be referenced to an absolute coordinate frame and/ora coordinate frame of mobile structure 101. In various embodiments, anabsolute coordinate frame may be defined and/or correspond to acoordinate frame with one or more undefined axes, such as a horizontalplane local to mobile structure 101 and referenced to a localgravitational vector but with an unreferenced and/or undefined yawreference (e.g., no reference to Magnetic North).

Sonar system 110 may be implemented as one or more electrically and/ormechanically coupled controllers, transmitters, receivers, transceivers,signal processing logic devices, various electrical components,transducer elements of various shapes and sizes, multichanneltransducers/transducer modules, transducer assemblies, assemblybrackets, transom brackets, and/or various actuators adapted to adjustorientations of any of the components of sonar system 110, as describedherein.

For example, in various embodiments, sonar system 110 may be implementedand/or operated according to any of the systems and methods described inU.S. Provisional Patent Application 62/005,838 filed May 30, 2014 andentitled “MULTICHANNEL SONAR SYSTEMS AND METHODS”, and/or U.S.Provisional Patent Application 61/943,170 filed Feb. 21, 2014 andentitled “MODULAR SONAR TRANSDUCER ASSEMBLY SYSTEMS AND METHODS”, bothof which are hereby incorporated by reference in their entirety. Inother embodiments, sonar system 110 may be implemented according toother sonar system arrangements (e.g., remote sensing systemarrangements) that can be used to detect objects within a water columnand/or a floor of a body of water.

More generally, sonar system 110 may be configured to emit one,multiple, or a series of acoustic beams (e.g., remote sensor beams),receive corresponding acoustic returns (e.g., remote sensor returns),and convert the acoustic returns into sonar data and/or imagery (e.g.,remote sensor image data), such as bathymetric data, water depth, watertemperature, water column/volume debris, bottom profile, and/or othertypes of sonar data. Sonar system 110 may be configured to provide suchdata and/or imagery to user interface 120 for display to a user, forexample, or to controller 130 for additional processing, as describedherein.

In some embodiments, sonar system 110 may be implemented using a compactdesign, where multiple sonar transducers, sensors, and/or associatedprocessing devices are located within a single transducer assemblyhousing that is configured to interface with the rest of system 100through a single cable providing both power and communications to andfrom sonar system 110. In some embodiments, sonar system 110 may includeorientation and/or position sensors configured to help provide two orthree dimensional waypoints, increase sonar data and/or imagery quality,and/or provide highly accurate bathymetry data, as described herein.

For example, fisherman desire highly detailed and accurate informationand/or imagery of underwater structure and mid water targets (e.g.,fish). Conventional sonar systems can be expensive and bulky andtypically cannot be used to provide relatively accurate and/ordistortion free underwater views, as described herein. Embodiments ofsonar system 110 include low cost single, dual, and/or multichannelsonar systems that can be configured to produce detailed two and threedimensional sonar data and/or imagery. In some embodiments, sonar system110 may consolidate electronics and transducers into a single waterproofpackage to reduce size and costs, for example, and may be implementedwith a single connection to other devices of system 100 (e.g., via anEthernet cable with power over Ethernet, an integral power cable, and/orother communication and/or power transmission conduits integrated into asingle interface cable).

In various embodiments, sonar system 110 may be configured to providemany different display views from a variety of selectable perspectives,including down imaging, side imaging, and/or three dimensional imaging,using a selection of configurations and/or processing methods, asdescribed herein. In some embodiments, sonar system 110 may beimplemented with a single transducer assembly housing incorporating oneor two transducers and/or associated electronics. In other embodiments,sonar system 110 may be implemented with a transducer assembly housingincorporating a multichannel transducer and/or associated electronics.In such embodiments, sonar system 110 may be configured to transmitacoustic beams using a transmission channel and/or element of amultichannel transducer, receive acoustic returns using multiple receivechannels and/or elements of the multichannel transducer, and to performbeamforming and/or interferometry processing on the acoustic returns toproduce two and/or three dimensional sonar imagery. In some embodiments,one or more sonar transmitters of sonar system 110 may be configured touse CHIRP transmissions to improve range resolution and hence reduceambiguities typically inherent in interferometry processing techniques.

In various embodiments, sonar system 110 may be implemented with its owndedicated OPS 190, which may include various orientation and/or positionsensors (e.g., similar to orientation sensor 140,gyroscope/accelerometer 144, and/or GNSS 146) that may be incorporatedwithin the transducer assembly housing to provide three dimensionalorientations and/or positions of the transducer assembly and/ortransducer(s) for use when processing or post processing sonar data fordisplay. The sensor information can be used to correct for movement ofthe transducer assembly between ensonifications to provide improvedalignment of corresponding acoustic returns/samples, for example, and/orto generate imagery based on the measured orientations and/or positionsof the transducer assembly. In other embodiments, an externalorientation and/or position sensor can be used alone or in combinationwith an integrated sensor or sensors.

In embodiments where sonar system 110 is implemented with a positionsensor, sonar system 110 may be configured to provide a variety of sonardata and/or imagery enhancements. For example, sonar system 110 may beconfigured to provide accurate positioning of sonar data and/oruser-defined waypoints remote from mobile system 101. Similarly, sonarsystem 110 may be configured to provide accurate two and/or threedimensional aggregation and/or display of a series of sonar data;without position data, a sonar system typically assumes a straighttrack, which can cause image artifacts and/or other inaccuracies incorresponding sonar data and/or imagery. Additionally, when implementedwith a position sensor and/or interfaced with a remote but relativelyfixed position sensor (e.g., GNSS 146), sonar system 110 may beconfigured to generate accurate and detailed bathymetric views of afloor of a body of water.

In embodiments where sonar system 110 is implemented with an orientationand/or position sensor, sonar system 110 may be configured to store suchlocation/position information along with other sensor information(acoustic returns, temperature measurements, text descriptions, waterdepth, altitude, mobile structure speed, and/or other sensor and/orcontrol information) available to system 100. In some embodiments,controller 130 may be configured to generate a look up table so that auser can select desired configurations of sonar system 110 for aparticular location or to coordinate with some other sensor information.Alternatively, an automated adjustment algorithm can be used to selectoptimum configurations based on the sensor information.

For example, in one embodiment, mobile structure 101 may be located inan area identified on a chart using position data, a user may haveselected a user setting for a configuration of sonar system 110, andcontroller 130 may be configured to control an actuator and/or otherwiseimplement the configuration for sonar system 110 (e.g., to set aparticular orientation). In still another embodiment, controller 130 maybe configured to receive orientation measurements for mobile structure101. In such embodiment, controller 130 may be configured to control theactuators associated with the transducer assembly to maintain itsorientation relative to, for example, the mobile structure and/or thewater surface, and thus improve the displayed sonar images (e.g., byensuring consistently oriented acoustic beams and/or proper registrationof a series of acoustic returns). In various embodiments, controller 130may be configured to control steering sensor/actuator 150 and/orpropulsion system 170 to adjust a position and/or orientation of mobilestructure 101 to help ensure proper registration of a series of acousticreturns, sonar data, and/or sonar imagery.

Although FIG. 1A shows various sensors and/or other components of system100 separate from sonar system 110, in other embodiments, any one orcombination of sensors and components of system 100 may be integratedwith a sonar sensor assembly, an actuator, a transducer module, and/orother components of sonar system 110. For example, OPS 190 may beintegrated with a transducer module of sonar system 110 and beconfigured to provide measurements of an absolute and/or relativeorientation (e.g., a roll, pitch, and/or yaw) of the transducer moduleto controller 130 and/or user interface 120, both of which may also beintegrated with sonar system 110.

Radar system 160 may be implemented as one or more electrically and/ormechanically coupled controllers, transmitters, receivers, transceivers,signal processing logic devices, various electrical components, antennaelements of various shapes and sizes, multichannel antennas/antennamodules, radar assemblies/sensor assemblies, assembly brackets, mastbrackets, and/or various actuators adapted to adjust orientations of anyof the components of radar system 160, as described herein. For example,in various embodiments, radar system 160 may be implemented according tovarious radar system arrangements (e.g., remote sensing systemarrangements) that can be used to detect features of and objects on orabove a terrestrial surface or a surface of a body of water.

More generally, radar system 160 may be configured to emit one,multiple, or a series of radar beams (e.g., remote sensor beams),receive corresponding radar returns (e.g., remote sensor returns), andconvert the radar returns into radar data and/or imagery (e.g., remotesensor image data), such as one or more intensity plots and/oraggregation of intensity plots indicating a relative position,orientation, and/or other characteristics of structures, weatherphenomena, waves, other mobile structures, surface boundaries, and/orother objects reflecting the radar beams back at radar system 160. Sonarsystem 110 may be configured to provide such data and/or imagery to userinterface 120 for display to a user, for example, or to controller 130for additional processing, as described herein. Moreover, such data maybe used to generate one or more charts corresponding to AIS data, ARPAdata, MARPA data, and or one or more other target tracking and/oridentification protocols.

In some embodiments, radar system 160 may be implemented using a compactdesign, where multiple radar antennas, sensors, and/or associatedprocessing devices are located within a single radar sensor assemblyhousing that is configured to interface with the rest of system 100through a single cable providing both power and communications to andfrom radar system 160. In some embodiments, radar system 160 may includeorientation and/or position sensors (e.g., OPS 190) configured to helpprovide two or three dimensional waypoints, increase radar data and/orimagery quality, and/or provide highly accurate radar image data, asdescribed herein.

For example, fisherman desire highly detailed and accurate informationand/or imagery of local and remote structures and other watercraft.Conventional radar systems can be expensive and bulky and typicallycannot be used to provide relatively accurate and/or distortion freeradar image data, as described herein. Embodiments of radar system 160include low cost single, dual, and/or multichannel (e.g., syntheticaperture) radar systems that can be configured to produce detailed twoand three dimensional radar data and/or imagery. In some embodiments,radar system 160 may consolidate electronics and transducers into asingle waterproof package to reduce size and costs, for example, and maybe implemented with a single connection to other devices of system 100(e.g., via an Ethernet cable with power over Ethernet, an integral powercable, and/or other communication and/or power transmission conduitsintegrated into a single interface cable).

In various embodiments, radar system 160 may be implemented with its owndedicated OPS 190, which may include various orientation and/or positionsensors (e.g., similar to orientation sensor 140,gyroscope/accelerometer 144, and/or GNSS 146) that may be incorporatedwithin the radar sensor assembly housing to provide three dimensionalorientations and/or positions of the radar sensor assembly and/orantenna(s) for use when processing or post processing radar data fordisplay. The sensor information can be used to correct for movement ofthe radar sensor assembly between beam emissions to provide improvedalignment of corresponding radar returns/samples, for example, and/or togenerate imagery based on the measured orientations and/or positions ofthe radar sensor assembly/antenna. In other embodiments, an externalorientation and/or position sensor can be used alone or in combinationwith an integrated sensor or sensors.

In embodiments where radar system 160 is implemented with a positionsensor, radar system 160 may be configured to provide a variety of radardata and/or imagery enhancements. For example, radar system 160 may beconfigured to provide accurate positioning of radar data and/oruser-defined waypoints remote from mobile system 101. Similarly, radarsystem 160 may be configured to provide accurate two and/or threedimensional aggregation and/or display of a series of radar data;without either orientation data or position data to help determine atrack or heading, a radar system typically assumes a straight track,which can cause image artifacts and/or other inaccuracies incorresponding radar data and/or imagery. Additionally, when implementedwith a position sensor, radar system 160 may be configured to generateaccurate and detailed intensity plots of objects on a surface of a bodyof water without access to a magnetometer.

In embodiments where radar system 160 is implemented with an orientationand/or position sensor, radar system 160 may be configured to store suchlocation/position information along with other sensor information (radarreturns, temperature measurements, text descriptions, altitude, mobilestructure speed, and/or other sensor and/or control information)available to system 100. In some embodiments, controller 130 may beconfigured to generate a look up table so that a user can select desiredconfigurations of radar system 160 for a particular location or tocoordinate with some other sensor information. Alternatively, anautomated adjustment algorithm can be used to select optimumconfigurations based on the sensor information.

For example, in one embodiment, mobile structure 101 may be located inan area identified on a chart using position data, a user may haveselected a user setting for a configuration of radar system 160, andcontroller 130 may be configured to control an actuator and/or otherwiseimplement the configuration for radar system 160 (e.g., to set aparticular orientation or rotation rate). In still another embodiment,controller 130 may be configured to receive orientation measurements formobile structure 101. In such embodiment, controller 130 may beconfigured to control the actuators associated with the radar sensorassembly to maintain its orientation relative to, for example, themobile structure and/or the water surface, and thus improve thedisplayed sonar images (e.g., by ensuring consistently oriented radarbeams and/or proper registration of a series of radar returns). Invarious embodiments, controller 130 may be configured to controlsteering sensor/actuator 150 and/or propulsion system 170 to adjust aposition and/or orientation of mobile structure 101 to help ensureproper registration of a series of radar returns, radar data, and/orradar imagery.

Although FIG. 1A shows various sensors and/or other components of system100 separate from radar system 160, in other embodiments, any one orcombination of sensors and components of system 100 may be integratedwith a radar sensor assembly, an actuator, a transducer module, and/orother components of radar system 160. For example, OPS 190 may beintegrated with an antenna platform of sonar system 110 and beconfigured to provide measurements of an absolute and/or relativeorientation (e.g., a roll, pitch, and/or yaw) of the antenna tocontroller 130 and/or user interface 120, both of which may also beintegrated with radar system 160.

User interface 120 may be implemented as a display, a touch screen, akeyboard, a mouse, a joystick, a knob, a steering wheel, a ship's wheelor helm, a yoke, and/or any other device capable of accepting user inputand/or providing feedback to a user. In various embodiments, userinterface 120 may be adapted to provide user input (e.g., as a type ofsignal and/or sensor information) to other devices of system 100, suchas controller 130. User interface 120 may also be implemented with oneor more logic devices that may be adapted to execute instructions, suchas software instructions, implementing any of the various processesand/or methods described herein. For example, user interface 120 may beadapted to form communication links, transmit and/or receivecommunications (e.g., sensor signals, control signals, sensorinformation, user input, and/or other information), determine variouscoordinate frames and/or orientations, determine parameters for one ormore coordinate frame transformations, and/or perform coordinate frametransformations, for example, or to perform various other processesand/or methods.

In various embodiments, user interface 120 may be adapted to accept userinput, for example, to form a communication link, to select a particularwireless networking protocol and/or parameters for a particular wirelessnetworking protocol and/or wireless link (e.g., a password, anencryption key, a MAC address, a device identification number, a deviceoperation profile, parameters for operation of a device, and/or otherparameters), to select a method of processing sensor signals todetermine sensor information, to adjust a position and/or orientation ofan articulated sensor, and/or to otherwise facilitate operation ofsystem 100 and devices within system 100. Once user interface 120accepts a user input, the user input may be transmitted to other devicesof system 100 over one or more communication links.

In one embodiment, user interface 120 may be adapted to receive a sensoror control signal (e.g., from orientation sensor 140 and/or steeringsensor/actuator 150) over communication links formed by one or moreassociated logic devices, for example, and display sensor and/or otherinformation corresponding to the received sensor or control signal to auser. In related embodiments, user interface 120 may be adapted toprocess sensor and/or control signals to determine sensor and/or otherinformation. For example, a sensor signal may include an orientation, anangular velocity, an acceleration, a speed, and/or a position of mobilestructure 101. In such embodiment, user interface 120 may be adapted toprocess the sensor signals to determine sensor information indicating anestimated and/or absolute roll, pitch, and/or yaw (attitude and/orrate), and/or a position or series of positions of sonar system 110,radar system 160, and/or mobile structure 101, for example, and displaythe sensor information as feedback to a user. In one embodiment, userinterface 120 may be adapted to display a time series of various sensorinformation and/or other parameters as part of or overlaid on a graph ormap, which may be referenced to a position and/or orientation of mobilestructure 101. For example, user interface 120 may be adapted to displaya time series of positions, headings, and/or orientations of mobilestructure 101 and/or other elements of system 100 (e.g., a transducerassembly and/or module of sonar system 110, or an antenna or radarsensor assembly of radar system 160) overlaid on a geographical map,which may include one or more graphs indicating a corresponding timeseries of actuator control signals, sensor information, and/or othersensor and/or control signals, including sonar and/or radar image data.

In some embodiments, user interface 120 may be adapted to accept userinput including a user-defined target heading, route (e.g., track forradar system 160), and/or orientation for a transducer module, forexample, and to generate control signals for steering sensor/actuator150 and/or propulsion system 170 to cause mobile structure 101 to moveaccording to the target heading, route, and/or orientation. In furtherembodiments, user interface 120 may be adapted to accept user inputincluding a user-defined target attitude/absolute angular frequency foran actuated device (e.g., sonar system 110, radar system 160) coupled tomobile structure 101, for example, and to generate control signals foradjusting an orientation or rotation of the actuated device according tothe target attitude/angular frequency. More generally, user interface120 may be adapted to display sensor information to a user, for example,and/or to transmit sensor information and/or user input to other userinterfaces, sensors, or controllers of system 100, for instance, fordisplay and/or further processing.

In various embodiments, user interface 120 may be integrated with one ormore sensors (e.g., imaging modules, position and/or orientationsensors, other sensors) and/or be portable (e.g., such as a portabletouch display or smart phone, for example, or a wearable user interface)to facilitate user interaction with various systems of mobile structure101. For example, in one embodiment, user interface 120 may include anembodiment of OPS 190 and/or one or more elements of OPS 190, includingan embodiment of GNSS 146.

Controller 130 may be implemented as any appropriate logic device (e.g.,processing device, microcontroller, processor, application specificintegrated circuit (ASIC), field programmable gate array (FPGA), memorystorage device, memory reader, or other device or combinations ofdevices) that may be adapted to execute, store, and/or receiveappropriate instructions, such as software instructions implementing acontrol loop for controlling various operations of sonar system 110,radar system 160, steering sensor/actuator 150, mobile structure 101,and/or system 100, for example. Such software instructions may alsoimplement methods for processing sensor signals, determining sensorinformation, providing user feedback (e.g., through user interface 120),querying devices for operational parameters, selecting operationalparameters for devices, or performing any of the various operationsdescribed herein (e.g., operations performed by logic devices of variousdevices of system 100).

In addition, a machine readable medium may be provided for storingnon-transitory instructions for loading into and execution by controller130. In these and other embodiments, controller 130 may be implementedwith other components where appropriate, such as volatile memory,non-volatile memory, one or more interfaces, and/or various analogand/or digital components for interfacing with devices of system 100.For example, controller 130 may be adapted to store sensor signals,sensor information, parameters for coordinate frame transformations,calibration parameters, sets of calibration points, and/or otheroperational parameters, over time, for example, and provide such storeddata to a user using user interface 120. In some embodiments, controller130 may be integrated with one or more user interfaces (e.g., userinterface 120), and, in one embodiment, may share a communication moduleor modules. As noted herein, controller 130 may be adapted to executeone or more control loops for actuated device control, steering control(e.g., using steering sensor/actuator 150) and/or performing othervarious operations of mobile structure 101 and/or system 100. In someembodiments, a control loop may include processing sensor signals and/orsensor information in order to control one or more operations of sonarsystem 110, radar system 160, mobile structure 101, and/or system 100.

OPS 190 may be implemented as an integrated selection of orientationand/or position sensors (e.g., orientation sensor 140,accelerometer/gyroscope 144, GNSS 146) that is configured to provideorientation and/or position data in relation to one or more elements ofsystem 100. For example, embodiments of OPS 190 may be integrated withmobile structure 101, sonar system 110, and/or radar system 160 and beconfigured to provide orientation and/or position data corresponding toa center of mass of mobile structure 101, a sonar transducer of sonarsystem 110, and/or a radar antenna of radar system 160. Suchmeasurements may be referenced to an absolute coordinate frame, forexample, or may be referenced to a coordinate frame of OPS 190 and/orany one of the individual sensors integrated with OPS 190.

More generally, OPS 190 provides a single, relatively compact integrateddevice that can be replicated throughout various elements of system 100,which in some embodiments may include a single/simplified interface fordata and/or power. In various embodiments, the coordinate frames for oneor more of the orientation and/or position sensors integrated into OPS190 may be referenced to each other (e.g., to a single coordinate framefor OPS 190), such as at time of manufacture, to reduce or eliminate aneed to determine coordinate frame transformations to combine data frommultiple sensors of OPS 190 during operation of system 100. In variousembodiments, system 100 may include multiple embodiments of OPS 190and/or elements of OPS 190, including multiple embodiments of GNSS 146,which may be coupled to mobile structure 101 at different locations.

Orientation sensor 140 may be implemented as one or more of a compass,float, accelerometer, magnetometer, and/or other digital or analogdevice capable of measuring an orientation of mobile structure 101(e.g., magnitude and direction of roll, pitch, and/or yaw, relative toone or more reference orientations such as gravity and/or MagneticNorth) and providing such measurements as sensor signals that may becommunicated to various devices of system 100. In some embodiments,orientation sensor 140 may be adapted to provide heading measurementsfor mobile structure 101. In other embodiments, orientation sensor 140may be adapted to provide roll, pitch, and/or yaw rates for mobilestructure 101 (e.g., using a time series of orientation measurements).Orientation sensor 140 may be positioned and/or adapted to makeorientation measurements in relation to a particular coordinate frame ofmobile structure 101, for example. In various embodiments, orientationsensor 140 may be implemented and/or operated according to any of thesystems and methods described in International ApplicationPCT/US14/38286 filed May 15, 2014 and entitled “AUTOMATIC COMPASSCALIBRATION SYSTEMS AND METHODS”, which is hereby incorporated byreference in its entirety.

Speed sensor 142 may be implemented as an electronic pitot tube, meteredgear or wheel, water speed sensor, wind speed sensor, a wind velocitysensor (e.g., direction and magnitude) and/or other device capable ofmeasuring or determining a linear speed of mobile structure 101 (e.g.,in a surrounding medium and/or aligned with a longitudinal axis ofmobile structure 101) and providing such measurements as sensor signalsthat may be communicated to various devices of system 100. In someembodiments, speed sensor 142 may be adapted to provide a velocity of asurrounding medium relative to sensor 142 and/or mobile structure 101.

Gyroscope/accelerometer 144 may be implemented as one or more electronicsextants, semiconductor devices, integrated chips, accelerometersensors, accelerometer sensor systems, or other devices capable ofmeasuring angular velocities/accelerations and/or linear accelerations(e.g., direction and magnitude) of mobile structure 101 and providingsuch measurements as sensor signals that may be communicated to otherdevices of system 100 (e.g., user interface 120, controller 130).Gyroscope/accelerometer 144 may be positioned and/or adapted to makesuch measurements in relation to a particular coordinate frame of mobilestructure 101, for example. In various embodiments,gyroscope/accelerometer 144 may be implemented in a common housingand/or module to ensure a common reference frame or a knowntransformation between reference frames.

GNSS 146 may be implemented as a global navigation satellite systemreceiver and/or other device capable of determining absolute and/orrelative position of mobile structure 101 (e.g., or an element of mobilestructure 101, such as sonar system 110 radar system 160, and/or userinterface 120) based on wireless signals received from space-born and/orterrestrial sources, for example, and capable of providing suchmeasurements as sensor signals that may be communicated to variousdevices of system 100. More generally, GNSS 146 may be implemented toany one or combination of a number of different GNSSs. In someembodiments, GNSS 146 may be used to determine a velocity, speed, COG,SOG, track, and/or yaw rate of mobile structure 101 (e.g., using a timeseries of position measurements), such as an absolute velocity and/or ayaw component of an angular velocity of mobile structure 101. In variousembodiments, one or more logic devices of system 100 may be adapted todetermine a calculated speed of mobile structure 101 and/or a computedyaw component of the angular velocity from such sensor information. Invarious embodiments, system 100 may include multiple embodiments of GNSS146 (e.g., position sensors 146) each coupled to mobile structure 101 atdifferent locations and/or integrated with different elements of system100, as described herein.

Steering sensor/actuator 150 may be adapted to physically adjust aheading of mobile structure 101 according to one or more controlsignals, user inputs, and/or stabilized attitude estimates provided by alogic device of system 100, such as controller 130. Steeringsensor/actuator 150 may include one or more actuators and controlsurfaces (e.g., a rudder or other type of steering or trim mechanism) ofmobile structure 101, and may be adapted to physically adjust thecontrol surfaces to a variety of positive and/or negative steeringangles/positions.

Propulsion system 170 may be implemented as a propeller, turbine, orother thrust-based propulsion system, a mechanical wheeled and/ortracked propulsion system, a sail-based propulsion system, and/or othertypes of propulsion systems that can be used to provide motive force tomobile structure 101. In some embodiments, propulsion system 170 may benon-articulated, for example, such that the direction of motive forceand/or thrust generated by propulsion system 170 is fixed relative to acoordinate frame of mobile structure 101. Non-limiting examples ofnon-articulated propulsion systems include, for example, an inboardmotor for a watercraft with a fixed thrust vector, for example, or afixed aircraft propeller or turbine. In other embodiments, propulsionsystem 170 may be articulated, for example, and may be coupled to and/orintegrated with steering sensor/actuator 150, for example, such that thedirection of generated motive force and/or thrust is variable relativeto a coordinate frame of mobile structure 101. Non-limiting examples ofarticulated propulsion systems include, for example, an outboard motorfor a watercraft, an inboard motor for a watercraft with a variablethrust vector/port (e.g., used to steer the watercraft), a sail, or anaircraft propeller or turbine with a variable thrust vector, forexample.

Other modules 180 may include other and/or additional sensors,actuators, communications modules/nodes, and/or user interface devicesused to provide additional environmental information of mobile structure101, for example. In some embodiments, other modules 180 may include ahumidity sensor, a wind and/or water temperature sensor, a barometer, aradar system, a visible spectrum camera, an infrared camera, and/orother environmental sensors providing measurements and/or other sensorsignals that can be displayed to a user and/or used by other devices ofsystem 100 (e.g., controller 130) to provide operational control ofmobile structure 101 and/or system 100 that compensates forenvironmental conditions, such as wind speed and/or direction, swellspeed, amplitude, and/or direction, and/or an object in a path of mobilestructure 101, for example.

In other embodiments, other modules 180 may include one or more actuateddevices (e.g., spotlights, infrared illuminators, cameras, radars,sonars, and/or other actuated devices) coupled to mobile structure 101,where each actuated device includes one or more actuators adapted toadjust an orientation of the device, relative to mobile structure 101,in response to one or more control signals (e.g., provided by controller130). Other modules 180 may include a sensing element angle sensor, forexample, which may be physically coupled to a radar sensor assemblyhousing of radar system 160 and be configured to measure an anglebetween an orientation of an antenna/sensing element and a longitudinalaxis of the housing and/or mobile structure 101. Other modules 180 mayalso include a rotating antenna platform and/or corresponding platformactuator for radar system 160. In some embodiments, other modules 180may include one or more Helmholtz coils integrated with OPS 190, forexample, and be configured to selectively cancel out one or morecomponents of the Earth's magnetic field.

In general, each of the elements of system 100 may be implemented withany appropriate logic device (e.g., processing device, microcontroller,processor, application specific integrated circuit (ASIC), fieldprogrammable gate array (FPGA), memory storage device, memory reader, orother device or combinations of devices) that may be adapted to execute,store, and/or receive appropriate instructions, such as softwareinstructions implementing a method for providing sonar data and/orimagery, for example, or for transmitting and/or receivingcommunications, such as sensor signals, sensor information, and/orcontrol signals, between one or more devices of system 100. In oneembodiment, such method may include instructions to receive anorientation, acceleration, position, and/or speed of mobile structure101 and/or sonar system 110 from various sensors, to determine atransducer orientation adjustment (e.g., relative to a desiredtransducer orientation) from the sensor signals, and/or to control anactuator to adjust a transducer orientation accordingly, for example, asdescribed herein. In a further embodiment, such method may includeinstructions for forming one or more communication links between variousdevices of system 100.

In addition, one or more machine readable mediums may be provided forstoring non-transitory instructions for loading into and execution byany logic device implemented with one or more of the devices of system100. In these and other embodiments, the logic devices may beimplemented with other components where appropriate, such as volatilememory, non-volatile memory, and/or one or more interfaces (e.g.,inter-integrated circuit (I2C) interfaces, mobile industry processorinterfaces (MIPI), joint test action group (JTAG) interfaces (e.g., IEEE1149.1 standard test access port and boundary-scan architecture), and/orother interfaces, such as an interface for one or more antennas, or aninterface for a particular type of sensor).

Each of the elements of system 100 may be implemented with one or moreamplifiers, modulators, phase adjusters, beamforming components, digitalto analog converters (DACs), analog to digital converters (ADCs),various interfaces, antennas, transducers, and/or other analog and/ordigital components enabling each of the devices of system 100 totransmit and/or receive signals, for example, in order to facilitatewired and/or wireless communications between one or more devices ofsystem 100. Such components may be integrated with a correspondingelement of system 100, for example. In some embodiments, the same orsimilar components may be used to perform one or more sensormeasurements, as described herein.

For example, the same or similar components may be used to create anacoustic pulse (e.g., a transmission control signal and/or a digitalshaping control signal), convert the acoustic pulse to an excitationsignal (e.g., a shaped or unshaped transmission signal) and transmit itto a sonar transducer element to produce an acoustic beam, receive anacoustic return (e.g., a sound wave received by the sonar transducerelement and/or corresponding electrical signals from the sonartransducer element), convert the acoustic return to acoustic returndata, and/or store sensor information, configuration data, and/or otherdata corresponding to operation of a sonar system, as described herein.Similarly, the same or similar components may be used to create a radarpulse (e.g., a transmission control signal and/or a digital shapingcontrol signal), convert the radar pulse to an excitation signal (e.g.,a shaped or unshaped transmission signal) and transmit it to a radarantenna to produce a radar beam, receive a radar return (e.g., anelectromagnetic wave received by the radar antenna and/or correspondingelectrical signals from the radar antenna), convert the radar return toradar return data, and/or store sensor information, configuration data,and/or other data corresponding to operation of a radar system, asdescribed herein.

Sensor signals, control signals, and other signals may be communicatedamong elements of system 100 using a variety of wired and/or wirelesscommunication techniques, including voltage signaling, Ethernet, WiFi,Bluetooth, Zigbee, Xbee, Micronet, or other medium and/or short rangewired and/or wireless networking protocols and/or implementations, forexample. In such embodiments, each element of system 100 may include oneor more modules supporting wired, wireless, and/or a combination ofwired and wireless communication techniques.

In some embodiments, various elements or portions of elements of system100 may be integrated with each other, for example, or may be integratedonto a single printed circuit board (PCB) to reduce system complexity,manufacturing costs, power requirements, and/or timing errors betweenthe various sensor measurements. For example, gyroscope/accelerometer144, user interface 120, and controller 130 may be configured to shareone or more components, such as a memory, a logic device, acommunications module, and/or other components, and such sharing may actto reduce and/or substantially eliminate such timing errors whilereducing overall system complexity and/or cost.

Each element of system 100 may include one or more batteries or otherelectrical power storage devices, for example, and may include one ormore solar cells or other electrical power generating devices (e.g., awind or water-powered turbine, or a generator producing electrical powerfrom motion of one or more elements of system 100). In some embodiments,one or more of the devices may be powered by a power source for mobilestructure 101, using one or more power leads. Such power leads may alsobe used to support one or more communication techniques between elementsof system 100.

In various embodiments, a logic device of system 100 (e.g., oforientation sensor 140 and/or other elements of system 100) may beadapted to determine parameters (e.g., using signals from variousdevices of system 100) for transforming a coordinate frame of sonarsystem 110 and/or other sensors of system 100 to/from a coordinate frameof mobile structure 101, at-rest and/or in-motion, and/or othercoordinate frames, as described herein. One or more logic devices ofsystem 100 may be adapted to use such parameters to transform acoordinate frame of sonar system 110, radar system 160, and/or othersensors of system 100 to/from a coordinate frame of orientation sensor140 and/or mobile structure 101, for example. Furthermore, suchparameters may be used to determine and/or calculate one or moreadjustments to an orientation of sonar system 110 and/or radar system160 that would be necessary to physically align a coordinate frame ofsonar system 110 and/or radar system 160 with a coordinate frame oforientation sensor 140 and/or mobile structure 101, for example, or anabsolute coordinate frame. Adjustments determined from such parametersmay be used to selectively power adjustment servos/actuators (e.g., ofsonar system 110, radar system 160, and/or other sensors or elements ofsystem 100), for example, or may be communicated to a user through userinterface 120, as described herein.

FIG. 1B illustrates a diagram of system 100B in accordance with anembodiment of the disclosure. In the embodiment shown in FIG. 1B, system100B may be implemented to provide position measurements of mobilestructure 101 for use with operation of mobile structure 101, similar tosystem 100 of FIG. 1A. For example, system 100B may include sonarsystem/OPS 110/190, radar system/OPS 160/190, integrated userinterface/controller/OPS 120/130/190, secondary user interface/OPS120/190, steering sensor/actuator 150, sensor cluster/OPS 190 (e.g.,orientation sensor 140, gyroscope/accelerometer 144, and/or GNSS 146),and various other sensors and/or actuators. In the embodimentillustrated by FIG. 1B, mobile structure 101 is implemented as amotorized boat including a hull 105 b, a deck 106 b, a transom 107 b,radar system/OPS 160/190 coupled to mast/sensor mount 108 b, a rudder152, an inboard motor 170, and an actuated sonar system 110 coupled totransom 107 b. In other embodiments, hull 105 b, deck 106 b, mast/sensormount 108 b, rudder 152, inboard motor 170, and various actuated devicesmay correspond to attributes of a passenger aircraft or other type ofvehicle, robot, or drone, for example, such as an undercarriage, apassenger compartment, an engine/engine compartment, a trunk, a roof, asteering mechanism, a headlight, a radar system, and/or other portionsof a vehicle.

As depicted in FIG. 1B, mobile structure 101 includes actuated sonarsystem 110, which in turn includes OPS 190 integrated with transducerassembly 112, which are coupled to transom 107 b of mobile structure 101through assembly bracket/actuator 116 and transom bracket/electricalconduit 114. In some embodiments, assembly bracket/actuator 116 may beimplemented as a roll, pitch, and/or yaw actuator, for example, and maybe adapted to adjust an orientation of transducer assembly 112 accordingto control signals and/or an orientation (e.g., roll, pitch, and/or yaw)or position of mobile structure 101 provided by userinterface/controller/OPS 120/130/190. For example, userinterface/controller/OPS 120/130/190 may be adapted to receive anorientation of transducer assembly 112 configured to ensonify a portionof surrounding water and/or a direction referenced to an absolutecoordinate frame, and to adjust an orientation of transducer assembly112 to retain ensonification of the position and/or direction inresponse to motion of mobile structure 101, using one or moreorientations and/or positions of mobile structure 101 and/or othersensor information derived by executing various methods describedherein.

In another embodiment, user interface/controller/OPS 120/130/190 may beconfigured to adjust an orientation of transducer assembly 112 to directsonar transmissions from transducer assembly 112 substantially downwardsand/or along an underwater track during motion of mobile structure 101.In such embodiment, the underwater track may be predetermined, forexample, or may be determined based on criteria parameters, such as aminimum allowable depth, a maximum ensonified depth, a bathymetricroute, and/or other criteria parameters. Transducer assembly 112 may beimplemented with a sonar position and/or orientation sensor (SPOS),which may include one or more sensors corresponding to orientationsensor 140, gyroscope/accelerometer 144 and/or GNSS 146, for example,that is configured to provide absolute and/or relative positions and/ororientations of transducer assembly 112 to facilitate actuatedorientation of transducer assembly 112.

Also shown in FIG. 1B is radar system 160, which includes integrated OPS190 and a radar antenna platform and actuator configured to rotate theradar antenna about a vertical axis substantially aligned with verticalaxis 104 of mobile structure 101. In some embodiments, userinterface/controller/OPS 120/130/190 may be configured to receive radarreturns from a radar sensor assembly of radar system/OPS 160/190, andcorresponding orientation and/or position data from radar system/OPS160/190 (e.g., corresponding to an orientation and/or position of anantenna of radar system 160 when the radar returns are received), andthen generate radar image data based, at least in part, on the radarreturns and the corresponding orientation and/or position data.

More generally, both sonar system 110 and radar system 160 are types ofremote sensing systems, each with remote sensing assemblies (e.g., sonarsensor assemblies, radar sensor assemblies) including housings adaptedto be mounted to mobile structure 101, each with an OPS disposed withintheir respective housings and adapted to measure an orientation and/orposition of an associated sensing element (e.g., sonar transducer, radarantenna), and each having access to or integrated with a logic device(e.g., controller 130) configured to receive remote sensor returns fromthe corresponding remote sensing assembly and sensor return orientationand/or position data from the corresponding OPS and generate remotesensor image data based, at least in part, on the remote sensor returnsand the sensor return orientation and/or position data. Once the remotesensor image data is received, user interface/controller/OP S120/130/190 may be configured to render the remote sensor image data ona display of any one of user interface 120, for example. In someembodiments, multiple sets of remote sensor image data may be displayedon the same user interface using one or more geo-referenced, targetreferences, and/or source references overlays.

In one embodiment, user interfaces 120 may be mounted to mobilestructure 101 substantially on deck 106 b and/or mast/sensor mount 108b. Such mounts may be fixed, for example, or may include gimbals andother leveling mechanisms/actuators so that a display of user interfaces120 can stay substantially level with respect to a horizon and/or a“down” vector (e.g., to mimic typical user head motion/orientation), forexample, or so the display can be oriented according to a user's desiredview. In another embodiment, at least one of user interfaces 120 may belocated in proximity to mobile structure 101 and be mobile/portablethroughout a user level (e.g., deck 106 b) of mobile structure 101. Forexample, a secondary user interface 120 may be implemented with alanyard, strap, headband, and/or other type of user attachment deviceand be physically coupled to a user of mobile structure 101 so as to bein proximity to the user and mobile structure 101. In variousembodiments, user interfaces 120 may be implemented with a relativelythin display that is integrated into a PCB of the corresponding userinterface in order to reduce size, weight, housing complexity, and/ormanufacturing costs.

As shown in FIG. 1B, in some embodiments, speed sensor 142 may bemounted to a portion of mobile structure 101, such as to hull 105 b, andbe adapted to measure a relative water speed. In some embodiments, speedsensor 142 may be adapted to provide a thin profile to reduce and/oravoid water drag. In various embodiments, speed sensor 142 may bemounted to a portion of mobile structure 101 that is substantiallyoutside easy operational accessibility. Speed sensor 142 may include oneor more batteries and/or other electrical power storage devices, forexample, and may include one or more water-powered turbines to generateelectrical power. In other embodiments, speed sensor 142 may be poweredby a power source for mobile structure 101, for example, using one ormore power leads penetrating hull 105 b. In alternative embodiments,speed sensor 142 may be implemented as a wind velocity sensor, forexample, and may be mounted to mast/sensor mount 108 b to haverelatively clear access to local wind.

In the embodiment illustrated by FIG. 1B, mobile structure 101 includesdirection/longitudinal axis 102, direction/lateral axis 103, anddirection/vertical axis 104 meeting approximately at mast/sensor mount108 b (e.g., near a center of gravity of mobile structure 101). In oneembodiment, the various axes may define a coordinate frame of mobilestructure 101 and/or sensor cluster 160.

Each sensor adapted to measure a direction (e.g., velocities,accelerations, headings, or other states including a directionalcomponent) may be implemented with a mount, actuators, and/or servosthat can be used to align a coordinate frame of the sensor with acoordinate frame of any element of system 100B and/or mobile structure101. Each element of system 100B may be located at positions differentfrom those depicted in FIG. 1B. Each device of system 100B may includeone or more batteries or other electrical power storage devices, forexample, and may include one or more solar cells or other electricalpower generating devices. In some embodiments, one or more of thedevices may be powered by a power source for mobile structure 101. Asnoted herein, each element of system 100B may be implemented with anantenna, a logic device, and/or other analog and/or digital componentsenabling that element to provide, receive, and process sensor signalsand interface or communicate with one or more devices of system 100B.Further, a logic device of that element may be adapted to perform any ofthe methods described herein.

FIG. 2 illustrates a diagram of a remote sensing system 200 including aposition sensor 190 in accordance with an embodiment of the disclosure.In the embodiment shown in FIG. 2, system 200 includes a remote sensingassembly 210 that can be coupled to a user interface (e.g., userinterface 120 of FIG. 1A) and/or a power source through a single I/Ocable 214. As shown, remote sensing assembly 210 may include one or moresystem controllers 220, sensing elements (e.g., transducer/antenna 264),OPS 190, and/or other devices facilitating operation of system 200 alldisposed within a common housing 211. In other embodiments, one or moreof the devices shown in FIG. 2 may be integrated with a remote userinterface and communicate with remaining devices within remote sensingassembly 210 through one or more data and/or power cables similar to I/Ocable 214.

Controller 220 may be implemented as any appropriate logic device (e.g.,processing device, microcontroller, processor, application specificintegrated circuit (ASIC), field programmable gate array (FPGA), memorystorage device, memory reader, or other device or combinations ofdevices) that may be adapted to execute, store, and/or receiveappropriate instructions, such as software instructions implementing acontrol loop for controlling various operations of remote sensingassembly 210 and/or system 200, for example, similar to controller 130.In typical embodiments, controller 220 may be tasked with overseeinggeneral operation of remote sensing assembly 210, generating remotesensor image data from remote sensor returns and sensor returnorientation and/or position data, correlating sensor data with remotesensor data/imagery, communicating operational parameters and/or sensorinformation with other devices through I/O cable 214, and/or otheroperations of system 200. Controller 220 may in some embodiments beimplemented with relatively high resolution timing circuitry capable ofgenerating digital transmission and/or sampling control signals foroperating transmitters, receivers, transceivers, signal conditioners,and/or other devices of remote sensing assembly 210, for example, andother time critical operations of system 200, such as per-sample digitalbeamforming and/or interferometry operations applied to remote sensorreturns from sensing element 264, as described herein. In someembodiments, controller 220 may be implemented in a distributed manneracross a number of individual controllers.

Transceiver 234 may be implemented with one or more digital to analogconverters (DACs), signal shaping circuits, filters, phase adjusters,signal conditioning elements, amplifiers, timing circuitry, logicdevices, and/or other digital and/or analog electronics configured toaccept digital control signals from controller 220 and to generatetransmission signals to excite a transmission channel/element of remotesensing assembly 210 (e.g., sensing element 264, which in someembodiments can be used to transmit remote sensor beams and receivesensor returns) to produce one or more remote sensor beams. In someembodiments, various transmission operations of transceiver 234 (e.g.,amplification, frequency dependent filtering, transmit signal frequency,duration, shape, and/or timing/triggering, and/or other signalattributes), may be controlled (e.g., through use of various controlsignals) by controller 220, as described herein.

Transceiver 243 may also be implemented with one or more analog todigital converters (ADCs), filters, phase adjusters, signal conditioningelements, amplifiers, timing circuitry, logic devices, and/or otherdigital and/or analog electronics configured to accept analog remotesensor returns from a corresponding receive channel/sensing element ofremote sensing assembly 210 (e.g., sensing element 264), convert theanalog remote sensor returns into digital remote sensor returns, andprovide the digital sensor returns to controller 220. In someembodiments, various receive operations of transceiver 234 (e.g.,amplification, frequency dependent filtering, basebanding, sampleresolution, duration, and/or timing/triggering, and/or other ADC/signalattributes) may be controlled by controller 220.

For example, controller 220 may be configured to use transceiver 234 toconvert a remote sensor return into a digital remote sensor returncomprising one or more digital baseband transmissions that are thenprovided to controller 220. In some embodiments, transceiver 234 may beconfigured to low-pass or otherwise filter, amplify, decimate, and/orotherwise process the analog and/or digital remote sensor returns (e.g.,using analog and/or digital signal processing) prior to providing thedigital remote sensor returns to controller 220. In other embodiments,transceiver 234 may be configured to provide substantially unprocessed(e.g., raw) analog and/or digital remote sensor returns to controller220 for further signal processing, as described herein. In furtherembodiments, transceiver 234 may be implemented as one or more separatetransmitters and receivers.

In the embodiment shown in FIG. 2, sensing element 264 is implemented asa single transmission/receive channel that may be configured to transmitremote sensor beams and receive remote sensor returns through emissionsurface 212 of housing 211. In some embodiments, remote sending assembly210 may be implemented with multiple transmission and/or receivechannels (e.g., a multichannel sonar transducer, or amultichannel/synthetic aperture radar antenna). In general, remotesending assembly 210 may be implemented with one, two, or many separateelements configured to produce one or more remote sensor beams, and one,two, or many separate sensing elements configured to receive remotesensor returns. The effective volumetric shapes of the remote sensorbeams and remote sensor returns may be determined by the shapes andarrangements of their corresponding transducer elements. In multichannelembodiments, the various channels may be arranged to facilitatemultichannel processing, such as beamforming, interferometry, inter-beaminterpolation, and/or other types of multichannel processing used toproduce remote sensor data and/or imagery.

In FIG. 2, each of sensing element 264 is coupled to its electronicsover leads 218 and through shielding 219. In various embodiments, leads218 and/or shielding 219 may be implemented as one or more shieldedtransmission lines configured to convey analog and/or digital signalsbetween the various elements while shielding transceiver 234 and sensingelement 264 from electromagnetic interference from each other, otherelements of remote sensing assembly 210 (e.g., OPS 190), and/or externalsources. In some embodiments, leads 218 and shielding 219 may beintegrated together to form a transmission system. For example,shielding 219 may be configured to provide a ground plane/return forsignals conveyed by leads 218.

As shown, remote sensing assembly 210 may be implemented with OPS 190,which may be configured to measure a relative and/or absoluteorientation and/or position of remote sensing assembly 210 and/orsensing element 264 and provide such measurements to controller 220. Insome embodiments, controller 220 may be configured to combine remotesensor data and/or imagery according to such measurements and/ormeasurements of an orientation and/or position of a coupled mobilestructure to produce combined remote sensor data and/or imagery, such asmultiple co-registered remote sensor images, for example, and/or threedimensional remote sensor imagery. In other embodiments, controller 220may be configured to use orientation and/or position measurements ofremote sensing assembly 210 and/or a coupled mobile structure to controlone or more actuators (e.g., other devices 280) to adjust a positionand/or orientation of remote sensing assembly 210 and/or sensing element264 and emit remote sensor beams towards a particular position and/ororientation, for example, or otherwise control motion of remote sensingassembly 210 and/or sensing element 264.

Other devices 280 may include other and/or additional sensors, sensorarrays, actuators, logic devices, communications modules/nodes, powerdistribution components, and/or user interface devices used to provideadditional environmental information and/or configuration parameters,for example, and/or to adjust a position and/or orientation of remotesensing assembly 210 and/or sensing element 264. In some embodiments,other devices 280 may include a visible spectrum camera, an infraredcamera, and/or other environmental sensors providing measurements and/orother sensor signals that can be displayed to a user and/or used byother devices of remote sensing assembly 210 (e.g., controller 220) toprovide operational control of remote sensing assembly 210. In someembodiments, other devices 280 may include one or more actuators adaptedto adjust an orientation (e.g., roll, pitch, and/or yaw) and/or aposition (longitudinal, lateral, and/or vertical) of remote sensingassembly 210 and/or sensing element 264 relative to a coupled mobilestructure, in response to one or more control signals (e.g., provided bycontroller 220). In other embodiments, other devices 280 may include oneor more brackets, such as a transom bracket or a mast bracket, adaptedto couple housing 211 to a mobile structure.

Other devices 280 may also include a sensing element angle sensor, forexample, which may be physically coupled to housing 211 of remotesensing assembly 210 and be configured to measure an angle between anorientation of sensing element 264 and a longitudinal axis of housing211 and/or mobile structure 101. Other devices 280 may also include arotating platform and/or corresponding platform actuator for sensingelement 264 and/or remote sensing assembly 210. In some embodiments,other devices 280 may include one or more Helmholtz coils integratedwith OPS 190, for example, and be configured to selectively cancel outone or more components of the Earth's magnetic field, as describedherein.

In various embodiments, remote sensing assembly 210 may be implementedin a single housing 211 with a single interface (e.g., I/O cable 214) tosimplify installation and use. For example, I/O cable 214 may beimplemented as a power-over-Ethernet (POE) cable supporting transmissionof both communications and power between remote sensing assembly 210 andelements of a coupled mobile structure. Such communications and/or powermay be delivered over leads 216 to power supply 215 and/or controller220. Power supply 215 may be implemented as one or more powerconditioners, line filters, switching power supplies, DC to DCconverters, voltage regulators, power storage devices (e.g., batteries),and/or other power supply devices configured to receive power over leads216 and/or distribute power to the various other elements of remotesensing assembly 210.

FIG. 3 illustrates a diagram of a remote sensing system 300 including aposition sensor 190 in accordance with an embodiment of the disclosure.In the embodiment shown in FIG. 3, remote sensing imagery system 300 isimplemented as a radar system including a radar sensor assembly 310,housing 311, and radar antenna 364 shielded from system controller 320and OPS 190 by shielding 319, which correspond to and/or may beimplemented similarly to remote sensing assembly 210, housing 211,sensing element 264, controller 220, OPS 190, and shielding 319 of FIG.2, respectively. Also shown are antenna platform 314 and platformactuator 316 configured to rotate antenna 364, shielding 319, controller320, and OPS 190 about axis 313, and sensing element (e.g., radarantenna) angle sensor 317 configured to measure an angle between anorientation of antenna 364 and a longitudinal axis of housing 311 (e.g.,a vertical line passing perpendicularly through the antenna surface inthe orientation shown in FIG. 3). In various embodiments, OPS 190 may beconfigured to determine an orientation and/or position of remote sensingimagery system 300 while antenna platform 314 is rotating within housing311. Implementations for corresponding methods are provided in FIGS. 5through 10 of the present disclosure.

In some embodiments, radar antenna angle sensor 317 may be configured tomonitor a position of platform actuator 316, for example, and derive themeasured angle from the monitored position. In other embodiments, radarantenna angle sensor 317 may be configured to detect passage over one ormore indexed posts 312 corresponding to a known orientation of antenna364 relative to a longitudinal axis of housing 311. Controller 320 maybe configured to receive a measured angle corresponding to a particularknown relative orientation when radar antenna angle sensor 317 passesover the appropriate indexed post 312.

FIG. 4 illustrates a graph 400 of time series of position data 490 fromthree individual position sensors (e.g., radar system/OPS 160/190, userinterface/controller/OPS 120/130/190, and secondary user interface/OPS120/190) and a corresponding time series of measured positions 492derived from the position data by position measurement system 100 inaccordance with an embodiment of the disclosure. In FIG. 4, the timeseries of measured positions 492 (e.g., one dimensional positions, inFIG. 4) are derived from the time series of position data 490 using aweighting factor based, at least in part, on horizontal dilution ofprecision fix metadata, similar to that shown in the worked pseudocodeexample presented herein. FIG. 4 shows that the combined position data(e.g., measured position series 492) deviates less from the mean (shownas “0” displacement in graph 400) than the position data from anyindividual position sensor 190. Also shown in FIG. 4 are variousposition data excursion events 494, which may occur at different timesand with respect to different time series of position data 490. System100 may be configured to detect position data excursion events 494, suchas by comparing weighted and/or unweighted position data from differentsensors to each other, by evaluating deviations in time series ofposition data and/or corresponding fix metadata (e.g., relative topreselected deviation rates), and/or using other techniques, asdescribed herein.

FIG. 5 illustrates a flow diagram of process 500 to provide positionmeasurements for mobile structure 101 in accordance with embodiments ofthe disclosure. In some embodiments, the operations of FIG. 5 may beimplemented as software instructions executed by one or more logicdevices associated with corresponding electronic devices, sensors,and/or structures depicted in FIGS. 1A through 3. More generally, theoperations of FIG. 5 may be implemented with any combination of softwareinstructions and/or electronic hardware (e.g., inductors, capacitors,amplifiers, actuators, or other analog and/or digital components).

It should be appreciated that any step, sub-step, sub-process, or blockof process 500 may be performed in an order or arrangement differentfrom the embodiments illustrated by FIG. 5. For example, in otherembodiments, one or more blocks may be omitted from or added to process500, and one or more blocks of process 600 of FIG. 6 may be included inprocess 500. Furthermore, block inputs, block outputs, various sensorsignals, sensor information, calibration parameters, and/or otheroperational parameters may be stored to one or more memories prior tomoving to a following portion of a corresponding process. Althoughprocess 500 is described with reference to systems described in FIGS.1A-3, process 500 may be performed by other systems different from thosesystems and including a different selection of electronic devices,sensors, assemblies, mobile structures, and/or mobile structureattributes.

Process 500 represents a method for providing position measurementsusing systems 100, 100B, 200, and/or 300 in accordance with embodimentsof the disclosure. At the initiation of process 500, various systemparameters may be populated by prior execution of a process similar toprocess 500, for example, or may be initialized to zero and/or one ormore values corresponding to typical, stored, and/or learned valuesderived from past operation of process 500, as described herein.

In block 502, a logic device receives position data from positionsensors. For example, user interface 120 and/or controller 130 of system100 may be configured to receive position data 490 corresponding to aposition of mobile structure 101 from respective position sensors (e.g.,radar system/OPS 160/190, user interface/controller/OPS 120/130/190, andsecondary user interface/OPS 120/190). Such position data may in variousembodiments correspond to a particular remote sensor assembly, a userinterface, and/or other element of system 100, for example, and may besubject to an offset relative to a particular position of mobilestructure 101, such as a center of mass of mobile structure 101, or apreselected known position of mobile structure 101 (e.g., a mast/deckintersection position, a midpoint position between extents of mobilestructure 101, and/or other known positions). Such offsets may beapplied to received position data (e.g., added to or subtracted from orotherwise compensated for) upon receipt or as part of block 504, forexample.

In various embodiments, the received position data may include fixmetadata provided by the corresponding position sensor. Such fixmetadata may include one or more reliability metric values, for example,such as position dilution-of-precision, time dilution-of-precision,standard deviation, and/or other reliability metric values determinedand provided by the individual position sensors. In additionalembodiments, user interface 120 and/or controller 130 may be configuredto store position data as a time series of position data in order todetermine one or more extrinsic position data reliability metrics (e.g.,extrinsic to the position sensor) corresponding to the position data.For example, such extrinsic position data reliability metrics may bederived from a time series of fix metadata, a pattern (e.g., in timeand/or space) of position data excursion events with respect to aparticular position sensor, and/or time, position, and/orenvironmentally linked position data or fix metadata deviations ordeviation rates relative to preselected (e.g., by user input) deviationsor deviation rates.

In some embodiments, one or more of the position sensors may berotationally coupled to mobile structure 101, such as OPS 190 integratedwith radar sensor assembly 310 of FIG. 3. In such embodiments, userinterface 120 and/or controller 130 may be configured to receive theposition data from the rotationally coupled position sensor while therotationally coupled position sensor is rotating relative to mobilestructure 101. In various embodiments, one or more of the positionsensors may be disposed within a housing mounted to mobile structure101, where the housing encompasses one or more of an accelerometer, agyroscope, a magnetometer, a float level, a compass, a radar sensorassembly, and/or a sonar sensor assembly, similar to housing 211 of FIG.2.

In block 504, a logic device determines weighting factors correspondingto the position data received in block 502. For example, user interface120 and/or controller 130 may be configured to determine weightingfactors (e.g., per position sensor) corresponding to the position datareceived in block 502. Such weighting factors may be per positioncomponent, for example, and may or may not be normalized. In embodimentswhere the received position data includes fix metadata, user interface120 and/or controller 130 may be configured to determine the weightingfactors based, at least in part, on the corresponding fix metadataprovided by the respective position sensor (e.g., intrinsic to theposition sensor). In other embodiments, user interface 120 and/orcontroller 130 may be configured to determine the weighting factorsbased, at least in part, on one or more extrinsic position datareliability metrics (per position sensor) derived at least in part, fromhistorical series of position data from the position sensors. In stillfurther embodiments, the weighting factors may be based on a combinationof intrinsic and extrinsic reliability metrics, as described herein.Weighting factors for different position components may be determineddifferently from each other and/or according to different fix metadata,for example.

In some embodiments, user interface 120 and/or controller 130 may beconfigured to detect position data excursion events in the receivedposition data and set corresponding weighting factors to an excursionweight upon such detection. In some embodiments, such excursion weightmay be zero, for example, or may be a percentage (e.g., 1%, 10%, orother percentage less than approximately 30%) of the non-excursionweighting factor calculated in the normal course.

In block 506, a logic device determines a measured position based on theposition data received in block 502 and the weighting factors determinedin block 506. For example, user interface 120 and/or controller 130 maybe configured to determine a measured position for mobile structure 101based, at least in part, on the position data received in block 502 andthe weighting factors determined in block 504. In some embodiments, userinterface 120 and/or controller 130 may be configured to determine suchmeasured position as the weighted average of the position data receivedin block 502 weighted according to the weighting factors determined inblock 504.

In various embodiments, image data, position data, orientation data,and/or sonar data may be acquired and/or processed using measuredpositions generated by block 506 and may be used to control operation ofmobile structure 101, such as by controlling steering sensor/actuator150 and/or propulsion system 170 to steer mobile structure 101 accordingto a desired heading, track, one or more waypoints, a tide or windeffect, and/or other types of user and/or environmental input. Forexample, in some embodiments, one or more of the position sensors may beimplemented as a GNSS receiver integrated with user interface 120, anduser interface 120 and/or controller 130 may be configured to render anavigational chart on a display of user interface 120, where thenavigational chart includes an indicator icon configured to indicate anabsolute position and/or orientation of mobile structure 101 on thenavigational chart corresponding to the measured position of mobilestructure 101 determined in block 506.

It is contemplated that any one or combination of methods to provideremote sensing imagery may be performed according to one or moreoperating contexts of a control loop, for example, such as a startup,learning, running, and/or other type operating context. For example,process 500 may proceed back to block 502 and proceed through process500 again to produce updated position measurements and/or associatedimagery, as in a control loop.

FIG. 6 illustrates a flow diagram of process 600 to provide positionmeasurements for mobile structure 101 in accordance with embodiments ofthe disclosure. In some embodiments, the operations of FIG. 6 may beimplemented as software instructions executed by one or more logicdevices associated with corresponding electronic devices, sensors,and/or structures depicted in FIGS. 1A through 3. More generally, theoperations of FIG. 6 may be implemented with any combination of softwareinstructions and/or electronic hardware (e.g., inductors, capacitors,amplifiers, actuators, or other analog and/or digital components).

It should be appreciated that any step, sub-step, sub-process, or blockof process 600 may be performed in an order or arrangement differentfrom the embodiments illustrated by FIG. 6. For example, in otherembodiments, one or more blocks may be omitted from or added to theprocess, and one or more blocks of process 500 may be added to process600. Furthermore, block inputs, block outputs, various sensor signals,sensor information, calibration parameters, and/or other operationalparameters may be stored to one or more memories prior to moving to afollowing portion of a corresponding process. Although process 600 isdescribed with reference to systems described in FIGS. 1A-3, process 600may be performed by other systems different from those systems andincluding a different selection of electronic devices, sensors,assemblies, mobile structures, and/or mobile structure attributes.

Process 600 represents a method for providing position measurementsusing systems 100, 100B, 200, and/or 300 in accordance with embodimentsof the disclosure. At the initiation of process 600, various systemparameters may be populated by prior execution of a process similar toprocess 600, for example, or may be initialized to zero and/or one ormore values corresponding to typical, stored, and/or learned valuesderived from past operation of process 600, as described herein.

In block 602, a logic device negotiates target measurement phases forposition sensors. For example, user interface 120 and/or controller 130of system 100 may be configured to negotiate target measurement phasesfor respective position sensors each coupled to mobile structure 101 atdifferent locations, where the target measurement phases are differentfrom each other. In various embodiments, user interface 120 and/orcontroller 130 may be configured to negotiate the target measurementphases by receiving, from the position sensors, measurement ratescorresponding respectively to the position sensors, determining thetarget measurement phases based, at least in part, on the respectivemeasurement rates, where a combined measurement rate corresponding tothe target measurement phases is greater than the first or secondmeasurement rate, and controlling the position sensors to performposition measurements according to the respective target measurementphases.

For example, GNSS based position sensors may receive an absolute timefrom the GNSS and/or include an internal measurement clock that may beused to help derive a position of the position sensor based on timingdifferences between signals received from different satellites. Userinterface 120 and/or controller 130 may be configured to use individualmeasurement rates from each position sensor to stagger, delay, orotherwise organize relative measurement times between each positionsensor (e.g., identify corresponding target measurement phases/timesbetween measurements by different position sensors) so that theeffective update rate of the measured position of mobile structure 101,as determined by system 100, is greater than the maximum measurementrate for any single position sensor within system 100.

Such target measurement phases may be relative to an absolute time, asmeasured/received by all the position sensors individually, or may berelative to individual internal measurement clocks for each positionsensor, as negotiated by user interface 120 and/or controller 130,and/or according to the timing capability of the particular positionsensor. Such target measurement phases dictate the time when theposition sensor makes its measurement (e.g., samples signals receivedfrom satellites), which is conceptually distinct from the time when theposition sensor transmits updated position data (e.g., over a network touser interface 120 and/or controller 130). Notably, in variousembodiments, position data from position sensors described herein oftenincludes an absolute time stamp roughly approximate to the absolute timewhen the position measurement was made.

In block 604, a logic device receives streams of position data fromposition sensors measured according to the target measurement phasesnegotiated in block 602. For example, user interface 120 and/orcontroller 130 may be configured to receive streams of position datacorresponding to mobile structure 101 from respective position sensorsand measured according to the respective target measurement phasesnegotiated in block 602, where each measured position within each streamof position data is measured according to its respective targetmeasurement phase.

In block 606, a logic device determines a series of updated measuredpositions based on the streams of position data received in block 604.For example, user interface 120 and/or controller 130 may be configuredto determine a series of updated measured positions for mobile structure101 based, at least in part, on the streams of position data received inblock 604, where an update rate corresponding to the series of updatedmeasured positions is greater than a maximum measurement ratecorresponding to any individual position sensor in system 100. In someembodiments, the series of updated measured positions may be weightedaccording to the intrinsic and/or extrinsic weighting factors determinedin block 504 of process 500. In such embodiments, position data withrelatively low weighting factors (or weighting factors of zero) may bereplaced and/or supplemented by an extrapolated position derived byextrapolating from a trend in adjacent position data provided by one ormore different position sensors (e.g., adjacent in terms of targetmeasurement phase).

For example, in the event that a first one of three position sensors isexperiencing a position data excursion event, and the three positionsensors have negotiated a complete cyclical target measurement phasedistribution (e.g., each position sensor only repeats its measurementafter the other two position sensors have made their measurements), themeasured position of mobile structure 101, at the time of the firstposition sensor target measurement phase, may be determined byextrapolating from the trend in position indicated by the adjacentposition data from the second and third position sensors. In alternativeembodiments, other sensor data may be used to help guide and/or refinesuch extrapolation, such as combining heading data (e.g., provided byorientation sensor 140) and speed data (e.g., provided by speed sensor142) and the most recent viable position data to determine an estimatedupdated position for mobile structure 101 at the time of the firstposition sensor target measurement phase, and using the estimatedupdated position as the measured position of mobile structure 101, orcombining such estimated updated position with the extrapolated positionaccording to a preselected weighting function, for example.

In various embodiments, image data, position data, orientation data,and/or sonar data may be acquired and/or processed using measuredpositions generated by block 606 and may be used to control operation ofmobile structure 101, such as by controlling steering sensor/actuator150 and/or propulsion system 170 to steer mobile structure 101 accordingto a desired heading, track, one or more waypoints, a tide or windeffect, and/or other types of user and/or environmental input. Forexample, in some embodiments, one or more of the position sensors may beimplemented as a GNSS receiver integrated with user interface 120, anduser interface 120 and/or controller 130 may be configured to render anavigational chart on a display of user interface 120, where thenavigational chart includes an indicator icon configured to indicate anabsolute position and/or orientation of mobile structure 101 on thenavigational chart corresponding to the measured position of mobilestructure 101 determined in block 606.

It is contemplated that any one or combination of methods to provideposition measurements may be performed according to one or moreoperating contexts of a control loop, for example, such as a startup,learning, running, and/or other type operating context. For example,process 600 may proceed back to block 602 and proceed through process600 again to produce updated position measurements and/or associatedimagery, as in a control loop.

Embodiments of the present disclosure can thus provide accurate andreliable position measurements for a mobile structure. Such embodimentsmay be used to provide sonar, radar, and/or other remote sensing imageryto assist in navigation for the mobile structure, survey of a body ofwater, and/or to assist in the operation of other systems, devices,and/or sensors coupled to the mobile structure.

Many elements of system 100 may be equipped with localization sensors,such as GNSS receivers or other elements of inertial navigation systems,and certain services are made possible by knowledge of the position of aparticular device or sensor relative to adjacent devices or sensors. Forexample, multifunction displays can coordinate location-aware behaviorwhen grouped together, such as optimizing screen layout so as to avoidshowing the same data on two adjacent displays. A GNSS based compassservice can also be used to provide reliable heading information, evenin a magnetically challenging environment, given knowledge of therelative positions of GNSS receivers in a network of position sensors onmobile structure 101.

Implementations of such services are reasonably trivial to implement ifaccurate information regarding the position of a position sensorrelative to its neighbors can be provided, but this is often difficultfor users to measure. For example, in a consumer marine environment,installers/end users often retrofit devices containing GNSS receiverswithout the ability to accurately determine their position relative toother position sensors in three dimensions, much less input them into asystem as part of a user-friendly installation process. In a staticenvironment such as atop a building or other permanent installation,such measurements can be made relatively easily. On a non-static bodysuch as a boat or other mobile structure (which will spend most of itstime moving, rotating and pitching, even when moored), such measurementscannot be made easily because the GNSS receivers appear to be moving androtating in three dimensions relative to each other.

Embodiments of the present disclosure are capable of automaticallydetermining positions of GNSS receivers/position sensors relative toeach other and calibrating their displacement relative to the chassis orhull of mobile structure 101 over time. This allows an end user toretrofit multiple GNSS receivers/position sensors at a time and locationconvenient for them and have system 100 learn their relative positionsautomatically given the slight differences in GNSS signals received byeach receiver, providing a transparent and zero-configuration GNSSheading/compass service. Embodiments are capable of making suchdeterminations even while mobile structure 101 is under way. Anyuser-experience service that can be enhanced by knowledge of therelative position of devices including such position sensors (e.g., aservice that allows devices in close proximity to alter their behavioraccordingly, such as efficiently distributing user interface elementsacross adjacent displays) can also be offered by virtue of thesedeterminations.

In general, a process to automatically determine relative positions ofposition sensors (e.g., GNSS 146) of a network of position sensorsmounted to mobile structure 101 and/or within elements of system 100 mayinclude generating a random set of candidate positions in 3D space forthe position sensors, iteratively rotating the set of candidatepositions to find a best fit for position measurements provided by theposition sensors (e.g., a multi-variable global-minima search—if aparticular set of candidate positions can be rotated into a positionwith less error than the previous set, then the rotated set may beweighted more favorably), determining an updated set of candidatepositions based on the best fit rotation and/or appropriately weightedset of rotations, and iterating the process through the iterativerotations and determining the updated set (another multi-variableglobal-minima search) until a maximum iteration or desired error metricis met.

More specifically, positions of position sensors are estimated using twonested multivariable global-minima-search algorithms, where onealgorithm varies displacement within a three dimensional (3D model) andanother varies rotation within the 3D model. The iteration step of onealgorithm calls for an entire optimization solution from the other,therefore the total number of iterations on a given data set aregenerally equal to the product of the number of iterations of eachindividual algorithm. Such approach allows the concepts of rotation anddisplacement to be decoupled, thereby permitting a search for relativeposition of the position sensors to occur independently of rotation, asdescribed herein.

An example step by step process for determining the relative positionsof position sensors in a network of position sensors coupled to a mobileplatform, such as mobile structure 101, is as follows:

1) A set of candidate/estimated positions (a first guess for where theposition sensors could be relative to each other) are generated, such asfrom a seed value (e.g., randomly, or by user-estimate).

2) The set of candidate/estimated positions are varied according to aglobal-minima multivariable optimization algorithm (e.g., algorithm 1),and possibly according to weights (e.g., configured to classify how“good” a particular set of candidate positions is) obtained from a priorcompletion of step 3.

3) A model of the set of candidate/estimated positions is rotated(and/or possibly displaced as a whole) in 3D space to find a rotationthat best-matches a measured 2D displacement (e.g., algorithm 2), asprovided in a lateral/longitudinal or x/y planar projection of positionmeasurements from the GNSS receivers/position sensors. If the iterationdescribed in step 2 yields a set of results that more closely matchesthe measured positions, then that result is favored/weighted favorablyover other results when creating a third set of candidate/estimatedpositions (e.g., in a similar fashion to a genetic learning algorithm).In step 3, it is possible to evaluate candidate positions in 3D spaceusing 2D readings because the influence of roll and pitch on themeasured 2D displacement of the position sensor will depend on itsheight relative to the center of mass of mobile structure 101, and sothe process will also produce useable height estimations in systemswhere altitude is typically very inaccurate (e.g., with position sensorsimplemented using GNSS receivers).

4) After reaching a given stop criteria (e.g., a given number ofiterations or a satisfactorily low error) the process may stop and theresulting derived set of updated estimated relative positions may beaccepted as the “working” set of relative positions for the network ofposition sensors, from which useful services (e.g., a GNSS basedcompass, other position sensor services) may be provided to a pilot ofmobile structure 101.

5) In some embodiments, an additional learning step may includedetermining an absolute offset angle between the 3D model of the networkof position sensors and an absolute direction (e.g., True North). Forexample, given that the difference between the heading and course overground of a vessel in operation along a steady course will (on average,over time) converge towards zero, system 100 may be configured todetermine an average COG provided by the 3D model working set ofrelative positions vs. an averaged heading (e.g., provided byorientation sensor 140) of mobile structure 101 and calculate theabsolute angular offset of the 3D model of relative positions of thenetwork of position sensors vs. the vessel centerline, and use thisabsolute offset angle to provide a zero-configuration positionsensor/GNSS based compass service. Alternatively, such absolute angleoffset may be calibrated while moored in a dock.

An example worked example (where the rotation algorithm iterates fourtimes per learning cycle and the overall displacement algorithm iteratesthree times) is as follows:

1) A first set of relative position values are estimated using, forexample, initial measurements from the position sensors, to generate a3D model of the position sensors.

1.1) The 3D model of position sensors is rotated by a selected angle,and the fit relative to measured positions provided by the positionsensors is measured and characterized.

1.2) Step 1.1 is repeated with improved rotation values (e.g.,determined based on the measured and characterized fit of step 1.1) foranother iteration.

1.3) Step 1.1 is repeated with improved rotation values (e.g.,determined based on the results of steps 1.1 and/or 1.2) for anotheriteration.

1.4) Step 1.1 is repeated with improved rotation values (e.g.,determined based on the results of steps 1.1, 1.2, and/or 1.3) foranother iteration.

2) The output from step 1.4 is used to vary and update the 3D model ofthe relative positions of the position sensors according to apre-defined optimization algorithm.

2.1) This improved updated 3D model of the relative positions isrotated, and the fit relative to measured positions provided by theposition sensors is measured and characterized.

2.2) Step 2.1 is repeated with improved rotation values (e.g.,determined based on the measured and characterized fit of step 2.1) foranother iteration.

2.3) Step 2.1 is repeated with improved rotation values (e.g.,determined based on the results of steps 2.1 and/or 2.2) for anotheriteration.

2.4) Step 2.1 is repeated with improved rotation values (e.g.,determined based on the results of steps 2.1, 2.2, and/or 2.3) foranother iteration.

3) The output from step 2.4 is used to vary and update the 3D model ofthe relative positions of the position sensors according to apre-defined optimization algorithm.

3.1) This improved updated 3D model of the relative positions isrotated, and the fit relative to measured positions provided by theposition sensors is measured and characterized.

3.2) Step 3.1 is repeated with improved rotation values (e.g.,determined based on the measured and characterized fit of step 3.1) foranother iteration.

3.3) Step 3.1 is repeated with improved rotation values (e.g.,determined based on the results of steps 3.1 and/or 3.2) for anotheriteration.

3.4) Step 3.1 is repeated with improved rotation values (e.g.,determined based on the results of steps 3.1, 3.2, and/or 3.3) foranother iteration.

4) The iteration limit is reached, and the current set of relativeposition values in the 3D model are considered accurate enough toprovide useful and reliable services to a pilot of mobile structure 101.

FIG. 7 illustrates a flow diagram of process 700 to determine relativepositions of position sensors in a network of positions sensors coupledto a mobile platform (e.g., mobile structure 101) in accordance with anembodiment of the disclosure. In some embodiments, the operations ofFIG. 7 may be implemented as software instructions executed by one ormore logic devices associated with corresponding electronic devices,sensors, and/or structures depicted in FIGS. 1A through 3. Moregenerally, the operations of FIG. 7 may be implemented with anycombination of software instructions and/or electronic hardware (e.g.,inductors, capacitors, amplifiers, actuators, or other analog and/ordigital components).

It should be appreciated that any step, sub-step, sub-process, or blockof process 700 may be performed in an order or arrangement differentfrom the embodiments illustrated by FIG. 7. For example, in otherembodiments, one or more blocks may be omitted from or added to theprocess, and one or more blocks of process 500 and/or 600 may be addedto process 700. Furthermore, block inputs, block outputs, various sensorsignals, sensor information, calibration parameters, and/or otheroperational parameters may be stored to one or more memories prior tomoving to a following portion of a corresponding process. Althoughprocess 700 is described with reference to systems described in FIGS.1A-3, process 700 may be performed by other systems different from thosesystems and including a different selection of electronic devices,sensors, assemblies, mobile structures, and/or mobile structureattributes.

Process 700 represents a method for automatically determining relativepositions of position sensors coupled to mobile structure 101 and/orwithin elements of system 100 using systems 100, 100B, 200, and/or 300in accordance with embodiments of the disclosure. At the initiation ofprocess 700, various system parameters may be populated by priorexecution of a process similar to process 700, for example, or may beinitialized to zero and/or one or more values corresponding to typical,stored, and/or learned values derived from past operation of process700, as described herein.

In block 702, a logic device generates a 3D model of a network ofposition sensors. For example, user interface 120 and/or controller 130of system 100 may be configured to generate a 3D model of a network ofposition sensors, each coupled to mobile structure 101 at differentlocations, based, at least in part, on estimated relative positions ofthe position sensors relative to each other. In an embodiment with two(e.g., first and second) position sensors, system 100 may be configuredto generate a 3D model of the first and second position sensors based,at least in part, on an estimated relative position of the secondposition sensor relative to the first position sensor. In embodimentswith additional position sensors, the 3D model may be based on theestimated relative positions of each additional position sensor relativeto the first position sensor, for example.

In some embodiments, the estimated relative positions of the positionsensors may be derived from a user-supplied relative position estimate(e.g., a lateral, longitudinal, and/or height relative positionestimate), a set of position measurements provided by the network ofposition sensors, a random or standard relative position estimate,and/or any combination or sub-combination of those, for example. Forinstance, system 100 may be configured to subtract a first positionmeasurement provided by a first position sensor from a second positionmeasurement provided by a second position sensor, where the two positionmeasurements are made substantially simultaneously, to determine anestimated relative position of the second position sensor relative tothe first position sensor, or to perform a similar process on a set ofmultiple such pairs of position measurements and/or an average ofmultiple pairs of position measurements.

In various embodiments, the 3D model may be generated such that oneposition sensor is placed at the 3D origin of the model, for example, orsuch that the network of position sensors is roughly centered about the3D origin of the model, where the 3D origin roughly corresponds to anestimated relative position of a center of mass of mobile structure 101relative to the network of position sensors. An initial rotation of the3D model may be set to zero, for example, or may be set to a previouslyidentified value determined by performing a process similar to process700.

In block 704, a logic device determines a rotation correction based onposition measurements provided by a network of position sensors. Forexample, user interface 120 and/or controller 130 of system 100 may beconfigured to determine a rotation correction for the 3D model generatedin block 702 based, at least in part, on a set of position measurementsprovided by the network of position sensors identified in the 3D model.In an embodiment with two (e.g., first and second) position sensors,system 100 may be configured to determine a rotation correction for the3D model based, at least in part, on a set of position measurementsprovided by the first and second position sensors.

For example, in such embodiment, system 100 may be configured to rotatethe 3D model generated in block 702 by a predetermined or randomlyselected angle about any one or combination of axes of the 3D model. Therotated 3D model may be used to determine a 2D estimated relativedisplacement of the second position sensor relative to the firstposition sensor, in the lateral/longitudinal plane (e.g., the x/y plane)of the 3D model, such as by calculating the relative displacement of theposition sensors in the 2D protection of the 3D model onto thelateral/longitudinal plane, or by simply identifying thelateral/longitudinal components of the estimated relative position, asmodified by the rotation of the 3D model.

System 100 may also determine a set of measured relative positions ofthe second position sensor relative to the first position sensor basedon a set of position measurements provided by the first and secondposition sensors, for example, and neglect the altitude components ofthe measured relative positions (e.g., which are typically less precisethan lateral/longitudinal position measurements provided by GNSSreceivers/position sensors) to determine a set of 2D measured relativedisplacements of the second position sensor relative to the firstposition sensor, as described herein. System 100 may then determine amodel error corresponding to the rotation angle of the 3D model bysubtracting the 2D estimated relative displacement of the secondposition sensor relative to the first position sensor from each 2Dmeasured relative displacement in the set of 2D measured relativedisplacements, or from an average of such set of 2D measured relativedisplacements, for example. In alternative embodiments, system 100 maybe configured to use the estimated and measured relative positions(e.g., not just the planar displacements) to determine the model error.

In some embodiments, system 100 may be configured to determine a set ofmeasured rotations of the network of position sensors based on the setof 2D measured relative displacements, where the influence of roll andpitch of mobile structure 101 on the set of 2D measured relativedisplacements will depend on the relative height of each position sensorrelative to the center of mass of mobile structure 101 (e.g., along thevertical axis of mobile structure 101). In such embodiments, system 100may be configured to compensate for such measured rotations whendetermining the model error, such as by adding the measured rotation tothe selected rotation angle, for example, before determining the 2Destimated relative displacement and/or the model error, as describedherein.

In various embodiments, system 100 may generate a set of model errorsand corresponding rotation angles iteratively (e.g., by selecting adifferent rotation angle for each iteration), such as up to an iterationlimit or a minimum achieved model error limit. In some embodiments,system 100 may be configured to identify and select the rotation anglecorresponding to a minimum model error magnitude (e.g., absolute valueof the model error) of the set of model errors as the rotationcorrection for the 3D model. In other embodiments, system 100 may beconfigured to determine the rotation correction based on a weightedcombination of the rotation angles, where the weights of the rotationangles are roughly proportional to their corresponding model errormagnitudes. In some embodiments, the original 3D model (e.g., theunrotated 3D model) may be used to generate a model error in the set ofmodel errors.

In additional or alternative embodiments, system 100 may be configuredto rotate the 3D model generated in block 702 by a predetermined orrandomly selected angle about any one or combination of axes of the 3Dmodel and to translate the 3D model generated in block 702 by apredetermined or randomly selected vector along any one or combinationof axes of the 3D model, for example, and to generate a set of modelerrors and corresponding rotation angles and translation vectorsiteratively (e.g., by selecting a different rotation angle and/ortranslation vector for each iteration). Such set of model errors,rotation angles, and translation vectors may be used to determine arotation correction and/or a translation correction using any of thetechniques described herein.

In block 706, a logic device determines an updated 3D model based on arotational correction. For example, user interface 120 and/or controller130 of system 100 may be configured to determine an updated 3D modelversion of the 3D model generated in block 702, which may includeupdated estimated relative positions of position sensors in the networkof position sensors, based, at least in part, on the 3D model generatedin block 702, the estimated relative positions, and/or the rotationcorrection determined in block 704. In an embodiment with two (e.g.,first and second) position sensors, system 100 may be configured todetermine an updated 3D model of the first and second position sensors,which may include an updated estimated relative position of the secondposition sensor relative to the first position sensor, based, at leastin part, on the 3D model generated in block 702, the estimated relativeposition, and/or the rotation correction determined in block 704.

For example, in one embodiment, system 100 may be configured to use therotation correction and/or translation correction determined in block704 to determine an updated 3D model that is simply a rotated and/ortranslated version of the 3D model generated in block 702. In anotherembodiment, system 100 may be configured to use the rotation correctionand/or translation correction determined in block 704, and/or theassociated model errors and/or the set of measured relative positions ofthe second position sensor relative to the first position sensor, todetermine an updated estimated relative position of the second positionsensor relative to the first position sensor within the updated 3Dmodel. For example, the set of model errors, the rotation correction,the translation correction, and/or the set of measured relativepositions may be used to adjust the longitudinal and/or lateral relativeposition of the second position sensor relative to the first positionsensor, or may be used to adjust the longitudinal, lateral, and verticalrelative position of the second position sensor relative to the firstposition sensor, as describe herein.

For example, system 100 may be configured to use the rotation correctionand/or the set of model errors determined in block 704 to determine anupdated estimated relative longitudinal and/or lateral position of thesecond position sensor relative to the first position sensor and updatethe 3D model generated in block 702 according to or using the updatedestimated relative longitudinal and/or lateral position of the secondposition sensor relative to the first position sensor. In embodimentswhere system 100 is configured to determine a set of measured rotationsof the network of position sensors based on the set of 2D measuredrelative displacements, system 100 may be configured to determineupdated heights (e.g., along the vertical axis of mobile structure 101)for the position sensors based on the set of 2D measured relativedisplacements, the corresponding set of measured rotations, the set ofmodel errors and/or the rotation correction determined in block 704, andthe 3D model generated in block 702.

Upon determining an updated 3D model, system 100 may either continue toiterate blocks 704 and 706 to reduce the model error to a pre-selecteddesired model error or proceed to use the updated 3D model to provideposition sensor based services (e.g., GNSS based compass, screen layoutselection, and/or other position sensor based services) for use withnavigation of mobile structure 101, as described herein.

In additional embodiments, a position sensor based compass may becalibrated as part of process 700. To illustrate, the difference betweenthe heading of mobile structure 101 (e.g., as measured by orientationsensor 140) and a course over ground (COG) of mobile structure 101(e.g., as measured by GNSS 146), while underway along a steady heading,will on average over time converge towards zero. As such, system 100 maybe configured to determine an absolute angular offset between theupdated/generated 3D model of blocks 702/704 and a longitudinal axis(e.g., centerline) of mobile structure 101 and use such absolute angularoffset to calibrate a position sensor based compass comprising a networkof position sensors to an absolute reference direction (e.g., TrueNorth, etc.), as described herein, without requiring intervention by auser. In alternative embodiments, a similar process may be used todetermine such absolute angular offset while mobile structure 101 isheld stationary at a known or static absolute orientation over a periodof time, such as while moored securely to a dock.

It is contemplated that any one or combination of methods to provideauto-learning of relative positions of position sensors in a network ofposition sensors coupled to mobile structure 101, may be performedaccording to one or more operating contexts of a control loop, forexample, such as a startup, learning, running, and/or other typeoperating context. For example, process 700 may proceed back to block702 or 704 and proceed through process 700 again to produce updatedrelative position measurements and/or associated data, as in a controlloop.

Embodiments of the present disclosure can thus provide accurate andreliable relative position measurements for a network of positionsensors coupled to a mobile structure. Such embodiments may be used toprovide sonar, radar, and/or other remote sensing imagery and/or data toassist in navigation of the mobile structure, survey of a body of water,and/or to assist in the operation of other systems, devices, and/orsensors coupled to the mobile structure.

Where applicable, various embodiments provided by the present disclosurecan be implemented using hardware, software, or combinations of hardwareand software. Also, where applicable, the various hardware componentsand/or software components set forth herein can be combined intocomposite components comprising software, hardware, and/or both withoutdeparting from the spirit of the present disclosure. Where applicable,the various hardware components and/or software components set forthherein can be separated into sub-components comprising software,hardware, or both without departing from the spirit of the presentdisclosure. In addition, where applicable, it is contemplated thatsoftware components can be implemented as hardware components, andvice-versa.

Software in accordance with the present disclosure, such asnon-transitory instructions, program code, and/or data, can be stored onone or more non-transitory machine readable mediums. It is alsocontemplated that software identified herein can be implemented usingone or more general purpose or specific purpose computers and/orcomputer systems, networked and/or otherwise. Where applicable, theordering of various steps described herein can be changed, combined intocomposite steps, and/or separated into sub-steps to provide featuresdescribed herein.

Embodiments described above illustrate but do not limit the invention.It should also be understood that numerous modifications and variationsare possible in accordance with the principles of the invention.Accordingly, the scope of the invention is defined only by the followingclaims.

What is claimed is:
 1. A system comprising: a logic device configured tocommunicate with first and second position sensors each coupled to amobile structure at respective first and second locations, wherein thelogic device is configured to: receive first and second position datacorresponding to a position of the mobile structure from the respectivefirst and second position sensors; determine first and second weightingfactors corresponding respectively to the received first and secondposition data; and determine a measured position for the mobilestructure based, at least in part, on the received first and secondposition data and the determined first and second weighting factors. 2.The system of claim 1, wherein the received first and second positiondata each comprise respective first and second fix metadata provided bythe respective first and second position sensors, and wherein thedetermining the first and second weighting factors comprises:determining the first weighting factor based, at least in part, on thefirst fix metadata; and determining the second weighting factor based,at least in part, on the second fix metadata.
 3. The system of claim 1,wherein the determining the first and second weighting factorscomprises: determining the first weighting factor based, at least inpart, on one or more first extrinsic position data reliability metricsderived at least in part, from a first historical series of positiondata from the first position sensor; and determining the secondweighting factor based, at least in part, on one or more secondextrinsic position data reliability metrics derived, at least in part,from a second historical series of position data from the first positionsensor.
 4. The system of claim 1, wherein the determining the first andsecond weighting factors comprises: detecting a position data excursionevent in the first or second position data; and setting the first orsecond weighting factor corresponding to the detected position dataexcursion event to an excursion weight.
 5. The system of claim 1,wherein the logic device is configured to: receive one or moreadditional position data corresponding to the position of the mobilestructure from respective one or more additional position sensors;determine one or more additional weighting factors correspondingrespectively to the received one or more additional position data; anddetermine the measured position for the mobile structure based, at leastin part, on the received first, second, and one or more additionalposition data and the determined first, second, and one or moreadditional weighting factors.
 6. The system of claim 1, wherein thelogic device is configured to: negotiate first and second targetmeasurement phases for the respective first and second position sensors,wherein the first and second target measurement phases are differentfrom each other; receive first and second streams of position data fromthe respective first and second position sensors and measured accordingto the negotiated respective first and second target measurement phases,wherein each measured position within the first stream of position datais measured according to the first target measurement phase, and eachmeasured position within the second stream of position data is measuredaccording to the second target measurement phase; and determine a seriesof updated measured positions for the mobile structure based, at leastin part, on the received first and second streams of position data,wherein an update rate corresponding to the series of updated measuredpositions is greater than a maximum measurement rate corresponding tothe first or second position sensor.
 7. The system of claim 6, whereinthe negotiating the first and second target measurement phasescomprises: receiving first and second measurement rates correspondingrespectively to the first and second position sensors; determining thefirst and second target measurement phases based, at least in part, onthe respective first and second measurement rates, wherein a combinedmeasurement rate corresponding to the first and second targetmeasurement phases is greater than the first or second measurement rate;and controlling the first and second position sensors to performposition measurements according to the respective first and secondtarget measurement phases.
 8. The system of claim 1, further comprisinga user interface configured to communicate with the logic device,wherein: the first or second position sensor comprises a globalnavigation satellite system receiver that is integrated with the userinterface; the first and/or second position sensor is disposed within ahousing mounted to the mobile structure; and the housing encompasses oneor more of an accelerometer, a gyroscope, a magnetometer, a float level,a compass, a radar sensor assembly, a sonar sensor assembly, and/or theuser interface.
 9. The system of claim 1, wherein: the mobile structurecomprises a watercraft; the second position sensor is rotationallycoupled to the mobile structure; and the logic device is configured toreceive the second position data from the second position sensor whilethe second position sensor is rotating relative to the mobile structure.10. The system of claim 1, wherein the logic device is configured to:generate a three dimensional (3D) model of the first and second positionsensors based, at least in part, on an estimated relative position ofthe second position sensor relative to the first position sensor;determine a rotation correction for the 3D model based, at least inpart, on a set of position measurements provided by the first and secondposition sensors; and determine an updated 3D model of the first andsecond position sensors, comprising an updated estimated relativeposition of the second position sensor relative to the first positionsensor, based, at least in part, on the 3D model, the estimated relativeposition, and/or the determined rotation correction.
 11. A methodcomprising: receiving first and second position data corresponding to aposition of a mobile structure from respective first and second positionsensors each coupled to the mobile structure at respective first andsecond locations; determining first and second weighting factorscorresponding respectively to the received first and second positiondata; and determining a measured position for the mobile structurebased, at least in part, on the received first and second position dataand the determined first and second weighting factors.
 12. The method ofclaim 11, wherein the received first and second position data eachcomprise respective first and second fix metadata provided by therespective first and second position sensors, and wherein thedetermining the first and second weighting factors comprises:determining the first weighting factor based, at least in part, on thefirst fix metadata; and determining the second weighting factor based,at least in part, on the second fix metadata.
 13. The method of claim11, wherein the determining the first and second weighting factorscomprises: determining the first weighting factor based, at least inpart, on one or more first extrinsic position data reliability metricsderived, at least in part, from a first historical series of positiondata from the first position sensor; and determining the secondweighting factor based, at least in part, on one or more secondextrinsic position data reliability metrics derived, at least in part,from a second historical series of position data from the first positionsensor.
 14. The method of claim 11, wherein the determining the firstand second weighting factors comprises: detecting a position dataexcursion event in the first or second position data; and setting thefirst or second weighting factor corresponding to the detected positiondata excursion event to an excursion weight.
 15. The method of claim 11,further comprising: receiving one or more additional position datacorresponding to the position of the mobile structure from respectiveone or more additional position sensors; determining one or moreadditional weighting factors corresponding respectively to the receivedone or more additional position data; and determining the measuredposition for the mobile structure based, at least in part, on thereceived first, second, and one or more additional position data and thedetermined first, second, and one or more additional weighting factors.16. The method of claim 11, wherein the second position sensor isrotationally coupled to the mobile structure, the method furthercomprising: receiving the second position data from the second positionsensor while the second position sensor is rotating relative to themobile structure.
 17. The method of claim 11, further comprising:generating a three dimensional (3D) model of the first and secondposition sensors based, at least in part, on an estimated relativeposition of the second position sensor relative to the first positionsensor; determining a rotation correction for the 3D model based, atleast in part, on a set of position measurements provided by the firstand second position sensors; and determining an updated 3D model of thefirst and second position sensors, comprising an updated estimatedrelative position of the second position sensor relative to the firstposition sensor, based, at least in part, on the 3D model, the estimatedrelative position, and/or the determined rotation correction.
 18. Amethod comprising: negotiating first and second target measurementphases for respective first and second position sensors each coupled toa mobile structure at respective first and second locations, wherein thefirst and second target measurement phases are different from eachother; receiving first and second streams of position data from therespective first and second position sensors and measured according tothe negotiated respective first and second target measurement phases;and determining a series of updated measured positions for the mobilestructure based, at least in part, on the received first and secondstreams of position data, wherein an update rate corresponding to theseries of updated measured positions is greater than a maximummeasurement rate corresponding to the first or second position sensor.19. The method of claim 18, wherein the negotiating comprises: receivingfirst and second measurement rates corresponding respectively to thefirst and second position sensors; determining the first and secondtarget measurement phases based, at least in part, on the respectivefirst and second measurement rates, wherein a combined measurement ratecorresponding to the first and second target measurement phases isgreater than the first or second measurement rate; and controlling thefirst and second position sensors to perform position measurementsaccording to the respective first and second target measurement phases.20. The method of claim 18, wherein the first or second position sensorcomprises a global navigation satellite system sensor/receiver that isintegrated with a user interface, the method further comprising:rendering a navigational chart on a display of the user interface,wherein the navigational chart comprises an indicator icon configured toindicate an absolute position of the mobile structure on thenavigational chart corresponding to the determined measured position ofthe mobile structure.